好
付出终将有回报!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"); } }