#includeincludedefine NAME_MAX 10define NUMBER_MAX 10define STUDENTS_MAX 5define CLEAR_ENTER(array)for(int idx=0;array[idx]!'\\0';idx+)\\if(array[idx]='\\n')\\array[idx]='\\0';typedef unsigned int Uint32;typedef struct stu{char name[NAME_MAX];char stu_number[NUMBER_MAX];Uint32 chinese;Uint32 math;Uint32 } stu;int main(void){stu students[STUDENTS_MAX];int idx=0;printf("输入5个学生的信息\\n");for(idx=0;idx;idx+){printf("name:");fgets(students[idx].name,NAME_MAX,stdin);printf("number:");fgets(students[idx].stu_number,NUMBER_MAX,stdin);fgets(students[idx].stu_number,NUMBER_MAX,stdin);printf("三项分数(语文,数学,英语):");scanf("%d%d%d",&students[idx].chinese,&students[idx].math,&students[idx].english);getchar();}FILE*fp=fopen("stu.txtwww.mh456.com防采集。
#includefloat a_stu[4],a_cour[3];//定义两个全局数组,用来表示学生e69da5e6ba907a686964616f31333332623930平均成绩和各科平均成绩int a[4][3]={78,78,99,90,89,96,77,91,90,92,79,89}; int main(){ void aver_stu(void); void aver_cour(void); void fangcha(void); aver_stu(); aver_cour(); int i,j,m,p,q; m=a[0][0]; for(i=0;i<4;i++) for(j=0;j<3;j++) if(a[i][j]>m) {m=a[i][j]; p=i,q=j; } printf("分数最高是%d分,该学生是第%d个学生 ,其课程是第%d门\n",m,p+1,q+1); fangcha(); return 0;}// void aver_stu(void) { int i,j; float sum1; for(i=0;i<4;i++) {for(j=0,sum1=0;j<3;j++)//每算完一位学生的平均成绩后,要重新使sum=0才能计算下一位,所以在第二个for语句sum值要归0 sum1+=a[i][j]; a_stu[i]=sum1/3; }printf("四位学生的平均成绩为:\n");for(i=0;i<4;i++)printf("%f\n",a_stu[i]); } //void aver_cour(void){int i,j; float sum2;for(i=0;i<3;i++){ for(j=0,sum2=0;j<4;j++) {sum2+=a[j][i]; a_cour[i]=sum2/4;}}printf("三门课的平均成绩为:\n");for(i=0;i<3;i++)printf("%f\n",a_cour[i]); }//void fangcha(void){float sum3=0,sum4=0,h;int i;for(i=0;i<4;i++){sum3+=a_stu[i]*a_stu[i];sum4+=a_stu[i];}h=sum3/4-(sum4/4)*(sum4/4);printf("平均分方差为:%f\n",h);}
这里采用的是选择排序,能够实现基本的功能,如果人数较多的话,还是要采用结构体和效率更高的排序算法。include int main() { int num[5]={0};学号 double score[5]={0};成绩 int i,j,k;int
内容来自www.mh456.com请勿采集。