有大神告訴我下我這代碼哪里錯(cuò)了嗎
#include <stdio.h>
int all(int score[])
{
?? int i;
?? int sum=0;
?? for(i=0;i<10;i++)
?? {
?????? sum+=score[i];
?? }
?? return sum;
}
int most(int score)
{
??? int i,j;
??? for(i=8;i>=0;i--)
??? {
??????? for(j=0;j<=i;j++)
??????? {
??????????? if(score[j]>score[j+1])
??????????? {
??????????????? int temp;
??????????????? temp=score[j+1];
??????????????? score[j+1]=score[j];
??????????????? score[j]=temp;
??????????? }
??????? }
??? }
??? printf("排列之后順序?yàn)閈n");
??? for(i=0;i<10;i++)
??? {
??????? if(i!=9)
??????? printf("%d,",arr[i]);
??????? else
??????? printf("%d",arr[i]);
??? }
??? printf("最低分為%d",arr[1]);
??? printf("最高分為%d",arr[9]);
}
int main()
{
??? int score[N]={67,98,75,63,82,79,81,91,66,84};
??? most();
??? printf("考試總分為%d,平均分為%d",(all),(all)/10);
??? return 0;
}
2017-11-06
你的程序本身有幾個(gè)問題,首先,你在定義函數(shù)的時(shí)候score后面沒有中括號(hào)[],這樣后面 你打score[i]他會(huì)提示找不到指針(編譯報(bào)錯(cuò)說的,我也不懂);其次,你在定義得到most函數(shù)中用了未定義的arr[];再次,你most函數(shù)中第一個(gè)for循環(huán)條件寫錯(cuò)“;”寫成“,”;還有你輸出總分和平均分的時(shí)候用的方式不對(duì),你用(all)他會(huì)輸出all的ASCLL碼(我也不清楚,反正輸出一串不相干的數(shù),應(yīng)該是這樣),所以我用了定義值得方式;哦還有,你不等號(hào)打錯(cuò)了;這些是程序本身的問題,還有就是輸出問題,降序排列score[j]<score[j+1]才執(zhí)行換位,最小的是score[9],最大的是score[0],嗯,應(yīng)該就這些吧=-=。
2017-11-07
這是我做這道題時(shí)敲的代碼。
2017-11-07
2017-11-07
我也是才自學(xué)入門的,一起努力吧
2017-11-07
你看看你復(fù)制粘貼的時(shí)候出了什么問題吧,還有我把sum和num定義在函數(shù)外表示他們倆是全局變量,如果定義在定義的函數(shù)里,輸出的時(shí)候它會(huì)顯示找不到sum和num的值
2017-11-07
2017-11-06