输入5个学生的三门课程成绩,用函数实现以下功能

(1)计算每个同学的平均分 (2)计算没门课程的平均分 (3)找出所有成绩中的最高分以及所对应的学生和成绩,并且输出(c语言)

#include<stdio.h>

#define N 5   //定义输入学生的个数

struct student //定义学生结构体

{

 char num[6] ;

 char name[8] ;

 int score[4] ;

 float avr; 

}stu[N]; 

void main() 

{

 int i,j,max,maxi,sum; 

 float average; 

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

 {

  printf("Input scores of student %d:\n",i+1); //输入每个学生的数据

  printf("NO.:"); 

  scanf("%s",stu[i].num); 

  printf("name:"); 

  scanf("%s",stu[i].name); 

  for(j=0;j<3;j++) 

  {

   printf("score %d:",j+1); 

   scanf("%d", &stu[i].score[j]); 

  } 

 } 

 average=0; 

 max=0; 

 maxi=0; 

 for(i=0;i<3;i++) //求平均数

 {

  sum=0; 

  for(j=0;j<3;j++) 

  sum+=stu[i].score[j]; 

  stu[i].avr=sum/3.0; 

  average+=stu[i].avr; 

  if(sum>max) 

  {

   max=sum; 

   maxi=i; 

  } 

 } 

 average/=N; 

 printf("  NO.     name    score1   score2    score3   average\n"); 

  for(i=0;i<N;i++) //输出每个学生的信息

  {

   printf("%5s%8s",stu[i].num, stu[i].name); 

   for(j=0;j<3;j++) 

    printf("%9d",stu[i].score[j]); 

   printf("%8.2f\n",stu[i].avr); 

  } 

 printf("average=%7.2f\n",average); 

  printf("The highest score is:%s,score total:%d.",stu[maxi].name,max); 

} 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632