任务和代码:每位同学的信息学号、姓名、C、高数、英语成绩。定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[13])、姓名(name)、三门课的成绩(grade)、总分(score)、均分(average))。
(1)从键盘上输入N名学生的信息(N定义为常变量);
(2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中“顺便”计算);
程序运行结果:
(1)从键盘上输入N名学生的信息(N定义为常变量);
(2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中“顺便”计算);
(3)输出每位同学的信息学号、姓名、总分和均分。
/*
文件名:main.c
作者:小风景
完成日期:2016.7.29
问题描述:每位同学的信息学号、姓名、C、高数、英语成绩。定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[13])、姓名(name)、三门课的成绩(grade)、总分(score)、均分(average))。
(1)从键盘上输入N名学生的信息(N定义为常变量);
(2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中“顺便”计算);
(3)输出每位同学的信息学号、姓名、总分和均分。
程序输出:
*/
#include <stdio.h>
struct Student
{
char num[13];
char name[10];
int c;
int math;
int english;
int grade;
double average;
};
const int N=3;
int main( )
{
int i = 0;
//定义结构体数组
struct Student stu[N];
double ave = 0;
//写出代码,实现要求的功能
printf("请输入%d名学生的学号、姓名、c、高数、英语成绩:\n",N);
for(i = 0;i < N;i++)
{
fflush(stdin);
scanf("%s %s %d %d %d",stu[i].num,stu[i].name,&stu[i].c,&stu[i].math,&stu[i].english);
stu[i].grade = stu[i].c + stu[i].math + stu[i].english;
stu[i].average = stu[i].grade / 3.0;
}
printf("学号\t姓名\t总分\t均分\n");
for(i = 0;i < N;i++)
{
printf("%s\t%s\t%d\t%.2f\n",stu[i].num,stu[i].name,stu[i].grade,stu[i].average);
ave += stu[i].average;
}
printf("所有同学均分的均值是:%.2f\n",ave / 3.0);
return 0;
}
程序运行结果: