c語言程式改錯輸入學生5門課的成績,分別用函式實現以

時間 2021-05-04 18:24:41

1樓:

f1,f2裡面,score和cour要賦初值,3個函式都沒返回值,怎麼能用函式返回值做printf的變數呢 ,而且第三個函式也錯誤了,他只能找到值比s[0][0]大的最後一個數,而不是最大的數

2樓:匿名使用者

int i,j,high;

for(i=0;i<10;i++)

for(j=1;j<5;j++)

if(s[i][j]>s[0][0])

{high=s[i][j];

r=i+1;

c=j+1;

我覺得high應該先賦初值為s[0][0]即high=s[0][0].然後將 if(s[i][j]>s[0][0])中改為s[i][j]>high.不然的話,你每次迴圈s[i][j]只是和s[0][0]比較大小,那麼high所儲存的數就不一定是是s[10][5]中最大的數。

這只是我個人看法,你想下,對的話,就試下,看可以不?希望對你有幫助···

3樓:我是大熊

#include

#include

float s[10][5];

int r=0,c=0;

void f2(void)

}void f3(void)

}printf("最高分是%d,學生是%d,課程是%d\n",high,r,c);

r=0;

c = 0;

high = 0;}}

int main()

printf("第%d個學生的平均分是%d\n",(i+1),score/5);

score = 0;

}f2();

f3();

system("pause");

return 0;

}你的問題有點多啊,你看一下吧。

注意你定義的陣列型別,如果是float,記得輸入的時候用%f;

函式返回值的問題,全域性變數和區域性變數的問題,你沒用好。

還有每次計算完之後注意資料還原置0,比如score……養成**規範的習慣,每個for,if語句都該有個{}括號。這是好習慣。

4樓:匿名使用者

把你的程式改了下:

#include

#define n 10//學生數

#define m 5//課程數

float f1(float p[m],int n)return b;

}int main()

for(i=0;i

printf("第%d個學生的平均分是%.2f\n",(i+1),f1(stu,i));

for(i=0;i

printf("第%d課的平均分是%.2f\n",i+1,f2(stu,i));

p=f3(stu,max);

printf("學生%d的%d課程是最高分:%.2f\n",*p,*(p+1),max);

//system("pause");

return 0;}

c語言程式設計,輸入10個學生5門課的成績,分別用函式實現以下功能:

c語言問題,輸入10個學生5門課成績,分別用函式實現下列功能:

c語言程式題改錯題,c語言程式改錯題。

fever銀 int main return 0 c語言程式改錯題。 因為覺的程式簡單沒認真看,修改一下,我是第一個回答的人,改一下估計要掉到最後了 if x 0 x 50 if x 0 x 50 aa x main include main printf x 2f,y 1f n x,y c語言程式...

c語言程式改錯題,C語言程式改錯題改對了兩個錯但還有一個錯而且程式不能執行可以得幾分

因為覺的程式簡單沒認真看,修改一下,我是第一個回答的人,改一下估計要掉到最後了 if x 0 x 50 if x 0 x 50 aa x main include main printf x 2f,y 1f n x,y c語言程式改錯題改對了兩個錯但還有一個錯而且程式不能執行可以得幾分 等考二級c改...

C程式改錯題,重金求助,C語言程式改錯題求助!謝謝

2 題 1 scanf c a i 改成 scanf s a i 2 b a 0 改成 strcpy b,a 0 3 b a i 改成 strcpy b,a i 4 printf max c n b 改成 printf max s n b 3 題 1 a i 1 1 改成 a i 1 2 for i...