学生平均成绩(结构体+数组)
- 题目
一个小组中有n个学生,每个学生有m门课程的成绩需要统计。案例要求通过编程依次输入学生的学号、姓名和m门课程的成绩,计算出平均成绩并依次把每个学生的学号、姓名和平均成绩打印在屏幕上。n<=100;m<=5;
- 案例输入
2
2
201801 张三 85 75
201802 李四 95 98
- 案例输出
Number:201801
Name:张三
AverageSorce:80.0
Number:201802
Name:李四
AverageSorce:96.5
- 代码
#include<stdio.h>
struct stu //结构体
{
char xuehao[7];
char name[10]; //如果你所输入的是中文字,注意:一个中文字占两个字符
double chengji[3];
double ave;
};
int main()
{
struct stu a[100];
int i,j,n,m;
double s;
scanf("%d",&n);
scanf("%d",&m);
for(i=0;i<n;i++)
{
scanf("%s",a[i].xuehao); //字符串不需要取地址符
scanf("%s",a[i].name);
s=0; //s表示一个人的三科成绩之和,所以在每次循环是都需要重置
for(j=0;j<m;j++) //一个人有三科成绩,所以需要双重循环
{
scanf("%lf",&a[i].chengji[j]); //注意成绩是如何输入的
s+=a[i].chengji[j];
}
a[i].ave=s/m;
}
for(i=0;i<n;i++)
{
printf("Number:%s\n",a[i].xuehao);
printf("Name:%s\n",a[i].name);
printf("AverageSorce:%.1lf\n",a[i].ave);
}
return 0;
}