|

楼主 |
发表于 2022-5-6 14:58:12
|
显示全部楼层
谢谢了,我明白哪里错了
#include <stdio.h>
#define N 2 //为了简便定义两个学生
struct student
{
char xuehao[15];
char name[20];
char sex;
int age;
float score;
};
void main()
{
struct student stu[N];
int i;
float ave,max,sum=0,min;
printf("请输入学生的学号、名字、性别、年龄、成绩\n");
for(i=0;i<=N-1;i++)
scanf("%s%s%c%d%f",&stu[i].xuehao,&stu[i].name,&stu[i].sex,&stu[i].age,&stu[i].score);//在这里改为 scanf("%s %s %c %d %f",&stu[i].xuehao,&stu[i].name,&stu[i].sex,&stu[i].age,&stu[i].score);,让%s%s%c%d%f中间有个空格就可以了
for(i=0;i<=N-1;i++)
printf("%s%s%c%d%f",stu[i].xuehao,stu[i].name,stu[i].sex,stu[i].age,stu[i].score);
max=min=stu[0].score;
for(i=0;i<=N-1;i++)
sum+=stu[i].score;
ave=sum/2;
printf("平均分:%f\n",ave);
for(i=0;i<=N-1;i++)
if(stu[i].score>max)\
max=stu[i].score;
printf("最高:%f\n",max);
for(i=0;i<=N-1;i++)
if(stu[i].score<min)
min=stu[i].score;
printf("最低分:%f\n",min);
} |
|