第1个回答 2010-06-20
#include<stdio.h>
struct student
{char num[10];
char name[20];
char sex;
char clas[10];
float score[3];
float sum;
float aver;
}stu[2];
//struct student stu[2]={{"101","wang",'f',"b11",85.5,87.5,75.5},{"102","li",'m',"b22",55.5,65.5,45.5},{“103”,”wu”,’f’,”b33”,77.5,82.5,73.5},};
void input() /*输入学生信息*/
{int i,j;
for (i=0;i<2;i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%s",stu[i].num);
printf("请输入第%d个学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("请输入第%d个学生的性别:f表示女生,m表示男生:",i+1);
getchar();
scanf("%c",&stu[i].sex);
printf("请输入第%d个学生的班级:",i+1);
scanf("%s",stu[i].clas);
for (j=0;j<3;j++)
{
printf("请输入第%d个学生的第%d门成绩:",i+1,j+1);
scanf("%f",&stu[i].score[j]);
}
}
}
void sumaver() /*计算总分和平均分*/
{int i;
for(i=0;i<2;i++)
{stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver=stu[i].sum/3;
}
}
void studentfail() /*统计不及格科目的学生*/
{ int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(stu[i].score[j]<60)
{printf("\n有不及格科目的学生是:\n");
printf("第%d个学生,学号:%s, 姓名:%s, 成绩: %6.2f,%6.2f,%6.2f\n",i+1,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
break;
}
printf("\n");
}
void output() /*输出全部的学生信息*/
{
int i,j;
printf("全部学生信息如下:\n");
printf("学号 姓名 性别 班级 成绩1 成绩2 成绩3 总分 平均分\n");
for (i=0;i<2;i++)
{printf("%s%8s",stu[i].num,stu[i].name);
printf("%4c%8s",stu[i].sex,stu[i].clas);
for (j=0;j<3;j++)
printf("%8.2f",stu[i].score[j]);
printf("%8.2f%8.2f",stu[i].sum,stu[i].aver);
printf("\n");
}
printf("\n");
}
void main()
{input();
sumaver();
studentfail();
output();
}