求教一道C语言“结构体与共用体”的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:17:44
二、 实验内容与步骤
1. 设计一个结构
struct student {
long no; /*学号*/
char name[10]; /*姓名*/
char sex; /*性别*/
int age; /*年龄*/
float score; /*平均成绩*/
}
2. 完成下列任务:
(1) 输入实际学生人数n (2<n<4);
(2) 输入每个学生的信息,组成结构数组,并输出;
(3) 统计男、女生人数并输出;
(4) 计算全班平均成绩并输出;
(5) 将低于全班平均成绩的学生信息按行输出
三、 上机要求
1. 可划分为若干个函数,或写成一个main( );
2. 要求输出格式有提示及相应数据。

请高手赐教!!!

楼上写了,我也贴上我的
-------------------------------------------------
#include <stdio.h>
struct student
{
long no; //学号
char name[10]; //姓名
char sex; //性别
int age; //年龄
float score; //平均成绩
};
main()
{
struct student s[20];
int i,n,m=0;
float sum=0;
printf("请输入学生人数:");
scanf("%d",&n);

//数据录入
printf("请输入学生信息:学号|姓名|性别(m/f)|年龄|成绩\n");
for(i=0;i<n;i++)
{
printf("-----第%d名学生:",i+1);
scanf("%ld%s%*c%c%d%f",&s[i].no ,s[i].name ,&s[i].sex ,&s[i].age ,&s[i].score );
if(s[i].sex =='m')
m++;
sum+=s[i].score ;
}

//数据显示
printf("\n全班学生信息如下:\n 学号 | 姓名 | 性别(m/f) | 年龄 | 成绩\n");
for(i=0;i<n;i++)
printf("%9ld%8s%8c%11d%7.1f\n",s[i].no ,s[i].name ,s[i].sex ,s[i].age ,s[i].score );

//其他功