C语言5个学生3门成绩,C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包括学号、姓名、三门课成绩),...

#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

5bc67f72f96df3a8be701ccb89fb4fd7.png

内容来自www.mh456.com请勿采集。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值