1樓:匿名使用者
這個問題,主要有兩種解決方法,一種是使用2維陣列,這種方法比較簡單,易於實現。第二種方法,你可以使用c語言中的連結串列結構,但不太好理解。推薦二位陣列,畢竟數量不大~~~~
c語言問題,輸入10個學生5門課成績,分別用函式實現下列功能:
c語言程式設計,輸入10個學生5門課的成績,分別用函式實現以下功能:
c語言程式改錯 輸入10個學生5門課的成績,分別用函式實現以下功能
2樓:
f1,f2裡面,score和cour要賦初值,3個函式都沒返回值,怎麼能用函式返回值做printf的變數呢 ,而且第三個函式也錯誤了,他只能找到值比s[0][0]大的最後一個數,而不是最大的數
3樓:匿名使用者
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]中最大的數。
這只是我個人看法,你想下,對的話,就試下,看可以不?希望對你有幫助···
4樓:我是大熊
#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語句都該有個{}括號。這是好習慣。
5樓:匿名使用者
把你的程式改了下:
#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;} 最後一句話是什麼意思?使求和?還是求人數?include stdio.h void main for i 1 i 10 i if a i c d printf 平均成績是 d,及格人數有 d個,平局分大於及格人數有 d個 c,b,d 正解,不多解釋,至於其他人的答案連c的邊都沒沾上,還整出個vb,e... 1 首先,定義一個資料結構student,包含學生的各資訊。2 定義兩個student型別的變數,儲存所有學生的成績資訊和臨時變數。3 定義一個自定義函式,輸入學生的成績資訊。4 具體實現學生資訊的輸入,並計算總分。5 主函式中,先定義4個整型變數,儲存學生的總數,以及控制迴圈的變數。6 接著,輸入... include include struct student int main for i 0 i 10 i for i 0 i 10 i printf 第 d個學生平均分為 2lf n i 1,s i sum 5 printf a,b,c,d,e門課平均分 分別為 2lf 2lf 2lf 2lf ...從鍵盤輸入學生的成績,計算平均成績,統計及格人數,計算高於平均分的學生的分數
輸入若干個學生資訊 學號姓名成績 輸入學號為0時輸入結
用c語言編寫fun函式輸入學生3門課的成績計算