0027 輸入5名大學生成績4門功課的成績,然後求相應問題
阿新 • • 發佈:2021-11-27
問題描述:
輸入5名大學生成績4門功課的成績,然後求出:
(1)每個大學生的總分;
(2)每門課程的平均分;
(3)輸出總分最高的學生的姓名和總分數;
程式碼展示:
1 #include<stdio.h> 2 #include<string.h> 3 struct Student{ 4 char name[20]; 5 int grade[4]; //grade[0]表示語文; grade[1]表示數學; grade[2]表示英語; grade[3]表示物理; 6 int sum; //學生總分7 int temp; 8 }Stu[5]; 9 10 int main(){ 11 int i,j; 12 int sum = 0; 13 float avg[4]; //儲存平均分 14 int index=0; //儲存總分最高同學的下標 15 for(i=0; i<5; i++){ //迴圈輸入5個學生的資訊 16 printf("請輸入第%d個學生的姓名,以及語文、數學、英語、物理成績:", i+1); 17 scanf("%s",&Stu[i].name);18 scanf("%d %d %d %d",&Stu[i].grade[0],&Stu[i].grade[1],&Stu[i].grade[2],&Stu[i].grade[3]); 19 for(j=0;j<4;j++){ 20 sum += Stu[i].grade[i]; 21 } 22 Stu[i].sum = sum; 23 } 24 for(i=0;i<4;i++){ //計算各科平均分 25 int temp = 0; 26 for(j=0;j<5;j++){ 27 temp += Stu[j].grade[i]; 28 } 29 avg[i] = temp/5.0; 30 } 31 for(i=0;i<4;i++){ 32 printf("第%d門課的平均分為:%.2f\n", i+1, avg[i]); 33 } 34 for(i=1;i<5;i++){ //迴圈查詢總分最高的學生 35 if(Stu[i].sum > Stu[index].sum){ 36 index = i; 37 } 38 } 39 printf("總分最高的學生是:%s,其總分為:%d\n",Stu[index].name, Stu[index].sum); 40 return 0; 41 }
執行截圖: