1. 程式人生 > 其它 >0027 輸入5名大學生成績4門功課的成績,然後求相應問題

0027 輸入5名大學生成績4門功課的成績,然後求相應問題

問題描述:

  輸入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 }

執行截圖: