好

付出终将有回报!Ibelieve!

程序代码: #include <stdio.h>
#define N 4
#include <conio.h>
struct student
{ long num;
char name[20];
char sex;
float score[5];
}stu[N]; /*定义一个结构体数组*/
void sum(struct student []); /*求学生总成绩的函数*/
void average(struct student []);/*求各科平均分的函数*/
void search(struct student [] ); /*求出有不及格的学生成绩*/
int main(void)
{
int i=0,j=0;
float f;
f = 0.0;
for(i=0;i<N;i++)
{
printf("input ----num----name----sex\n");
scanf("%ld,%s,%c",&stu[i].num,stu[i].name,&stu[i].sex); /*输入学生数据*/
printf("input score1----score2----score3----score4----score5\n");
for(j=0;j<5;j++)
{ scanf("%3f", &f);
stu[i].score[j] = f;
}
}
printf("output----num----name----sex");
for(i=0;i<N;i++)
{
printf("%ld,%s,%c",stu[i].num,stu[i].name,stu[i].sex); /*输出学生数据*/
printf("output score1----score2----score3----score4----score5\n");
for(j=0;j<5;j++)
printf("%10f ",stu[i].score[j]);
printf("\n");
}
sum( stu );
average( stu ); /*函数调用*/
search( stu );
getch();
return 0;
}
void sum( struct student stu[]) /*定义求总分的函数*/
{
float sum=0.0,saverage=0.0; /*saverage为每个学生的平均分*/
int i,j;
for(i=0;i<N;i++)
{
printf("No %d ",stu[i].num);
sum = 0.0;
for(j=0;j<5;j++)
sum+=stu[i].score[j];
saverage=sum/5;
printf("%5f,%5f\n",sum,saverage);
printf("\n");
}
}
void average(struct student stu[ ]) /*定义求各科成绩平均分的函数*/
{
float sum=0.0,average=0.0;
int i,j;
for(j=0;j<5;j++)
{
printf("the average of %d score:", j+1);
sum = 0.0;
for(i=0;i<N;i++)
sum+=stu[i].score[j];
average=sum/N;
printf("%f\n",average);
}
}
void search(struct student stu[]) /*定义求出不及格学生的成绩的函数*/
{
int m=0;
int i,j;
for(i=0;i<N;i++)
{
m=0;
for(j=0;j<5;j++)
{ if(stu[i].score[j]<60)
m++;
}
if(m)
{
printf("%ld,%s,%c",stu[i].num,stu[i].name,stu[i].sex);
for(j=0;j<5;j++)
printf("%3f ",stu[i].score[j]); /*输出不及格学生的成绩*/
}
printf("\n");
}
}
