题目:
? ? ?给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。
输入样例:
3
20200301
li
84
20200302
wang
80
20200303
zhang
60
输出样例:
74.67
zhang 20200303
\\\c
#include<stdio.h>
struct stu{
int num;
char name[10];
int grade;
};//一个学生的信息依次包括学号、姓名和成绩
int main(){
struct stu stus[50];
int n;
scanf("%d",&n);
double ave;
double sum=0;
for(int i = 0;i < n;i++){
scanf("%d %s %d",&stus[i].num,stus[i].name,&stus[i].grade);//输入学生信息
sum+=stus[i].grade;//计算总成绩
}
ave=(double)sum/n;//计算平均成绩
printf("%.2f\n",ave);
for(int i = 0;i < n;i++){
if(stus[i].grade < ave){
printf("%s %05d\n",stus[i].name,stus[i].num);
}//输出平均线以下的学生学号及姓名
}
return 0;
}
|