c语言联合与结构

来源:百度知道 编辑:UC知道 时间:2024/06/12 15:47:28
输入10个学生记录(每个记录包括学号,姓名,性别,3门功课成绩),组成记录数组.1,统计男,女生人数2,计算平均成绩,并输出低于平均成绩的学生记录.

#include<stdio.h>
#define N 10

struct students{
long num;
char name[20];
char sex;
int score[3];
};

void main()
{

struct students stu[N];
int i,j,sum,m,f;
float s,aver[N];

printf("input the recor of %d students:\n",N);
for(m=0,f=0,s=0,i=0;i<N;i++)
{
sum=0;
scanf("%ld %s %c",&stu[i].num,stu[i].name,&stu[i].sex);
for(j=0;j<3;j++)
{
scanf("%d",&stu[i].score[j]);
sum+=stu[i].score[j];
}
aver[i]=(float)sum/3;
s+=aver[i];
if(stu[i].sex=='m')
m++;
else f++;
}

printf("男生人数为%d\n女生人数为%d\n",m,f);

printf("低于平均成绩的学生纪录:\n");
printf("学号\t姓名\t性别\t课程1\t课程2\t课程3\t平均成绩\n");
for(i=0;i<N;i++)
if(aver[i]<(float)s/N)
pri