用結構體類型數組進行程序設計。有五個學生,每個學生的信息包括:學號,姓名,三門課的成績和平均成績。從鍵盤輸入每個學生的學號,姓名和三門課的成績,計算每個學生的平均成績,計算並輸出總平均成績,求出最高分學生,並輸出其信息(姓名和平均成績)。
實驗步驟
① 用一個函數輸入五個學生的數據信息;
② 用一個函數求每個學生的平均成績;
③ 用一個函數找出最高分的學生;
④ 主函數中調用相關函數,並輸出總平均成績和最高分學生的信息。
這是我寫的代碼
#include
#define N 5
struct student
{
int num;
char name[20];
int score[3];
}stu[5];
float ave[3];
void input();
void average();
int max();
int main()
{
input();
average();
int t;
t=max();
}
void input()
{
int i,j;
for(i=0;i<5;i++)
{
scanf("%d%c",&stu[i].num,&stu[i].name);
for(j=0;j<3;j++)
{
scanf("%d",&stu[i].score[j]);
}
}
}
void average()
{
int i,j;
for(i=0;i<5;i++)
{
ave[i]=0;
for(j=0;j<3;j++)
{
ave[i]+=stu[i].score[j];
}
ave[i]/=3;
}
}
int max()
{
int i,maxi=0;
float max=ave[0];
for(i=1;i<5;i++)
{
if(max<ave[i])
{
max=ave[i];
maxi=i+1;
}
}
return maxi;
}
為什麼無法運行啊?求指導
呃,你這個代碼問題實在比較多....
我就撿最主要的幾個說說吧。
這應當是學校的練習題吧。