有10个学生,每个学生的数据包括学号,姓名

2016-06-20 08:56:18  分类: c程序设计第四版谭浩强课后答案  参与:

 有10个学生,每个学生的数据包括学号,姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生数据(包括学号、姓名、3门课程成绩、平均分数)

【c源程序】
#include <stdio.h>
#define N 10
struct student
{ char num[6];
  char name[8];
  float score[3];
  float avr;
} stu[N];

int main()
{ int i,j,maxi;
  float sum,max,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("%f",&stu[i].score[j]);
       }
    }

  average=0;
  max=0;
  maxi=0;
  for (i=0;i<N;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%10s",stu[i].num,stu[i].name);
     for (j=0;j<3;j++)
       printf("%9.2f",stu[i].score[j]);
     printf("    %8.2f\n",stu[i].avr);
    }
    printf("average=%5.2f\n",average);
    printf("The highest score is : student %s,%s\n",stu[maxi].num,stu[maxi].name);
 printf("his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.\n",
     stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);
 return 0;
 }

来源:c程序设计第四版谭浩强课后答案

本文链接:http://www.wb98.com/c/post/tanhaoqiang_9.5.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

网站分类

Tags列表

赞助商链接