C语言统计若干学生的平均成绩,最低分以及最高分的人数

发布于2022-01-13 14:37:23
4个回答
admin
网友回答2022-01-13
#include<stdio.h> #define MAX 10 //定义学生人数 struct student //定义学生结构体 { char name[15]; long num[10]; float score[3]; float ave; }stu[MAX]; main() { int i,j,high=0,low=0; float max,min; for(i=0;i<MAX;i++) //输入学生数据 { printf("请输入第%d个学生的姓名:",i+1); scanf("%s",stu[i].name); printf("请输入第%d个学生的学号:",i+1); scanf("%ld",stu[i].num); stu[i].ave=0; for(j=0;j<3;j++) { printf("请输入该生第%d门成绩:",j+1); scanf("%f",&stu[i].score[j]); stu[i].ave+=stu[i].score[j]; } stu[i].ave/=3;//求平均成绩 } max=min=stu[0].ave; for(i=0;i<MAX;i++)//找平均成绩最大和最小值 { if(stu[i].ave>=max) { max=stu[i].ave; } else if(stu[i].ave<=min) { min=stu[i].ave; } } for(i=0;i<MAX;i++)//找平均成绩最高和最低的人数 { if(stu[i].ave==max) high++; if(stu[i].ave==min) low++; } //输出数据 printf("\n***********************************************************************\n"); printf("姓名 \t学号 \t成绩1 \t成绩2 \t成绩3\t 平均成绩\n"); for(i=0;i<MAX;i++) { printf("%s \t%ld \t%.2f \t%.2f \t%.2f\t %.2f\n",stu[i].name,stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave); } printf("\n************************************************************************\n"); printf("平均成绩最高的学生人数有%d个,最低的有%d个\n",high,low); } 我用结构体数组做的,希望会帮到你,呵呵
admin
网友回答2022-01-13
#include <stdio.h> int size,i=0; float z=0,sum,jun=0; float max(float chengji[],int size) //比较最大成绩 { z=chengji[0]; for (i = 0;i<size;i++) { if (chengji[i]>z) { z = chengji[i]; } } return z; } float min(float chengji[],int size) //比较最小成绩 { z=chengji[0]; for (i = 0;i<size;i++) {  if (chengji[i]<z) { z=chengji[i];    }     } return z; } void shuru(float chengji[10]) //录入成绩次数判断 { printf("请录入学生成绩\n"); for(int i=0;i<size;i++) { scanf("%f",&chengji[i]); } } void bijiao(float chengji[10]) //求平均成绩、比平均成绩小的成绩 { for (i=0;i<size;i++) { sum+=chengji[i]; } printf("平均成绩为:%.2f",jun=sum/10); printf("\n这些成绩中,比平均成绩小的成绩有:"); for (i=0;i<size;i++) { if (chengji[i]<jun) { printf("\n(第%d个成绩):%.2f",i+1,chengji[i]); } } printf("\n"); } void main() { printf("您想要录入几位学生成绩?\n"); scanf("%d",&size); float chengji[10]; shuru(chengji); printf("\n\n最大成绩:%.2f\n",max(chengji,size)); printf("最小成绩:%.2f\n",min(chengji,size)); bijiao(chengji); } 搜狗问问
admin
网友回答2022-01-13
#include <stdio.h> #include <stdlib.h> void main() { int i = 0; int n = 0; float *a[2] = ; float sum[2] = ; float avg[2] = ; float max[2] = ; float min[2] = ; printf("请输入有多少个学生:"); scanf("%d", &n); a[0] = (float *)malloc(sizeof(float)*n); a[1] = (float *)malloc(sizeof(float)*n); for (i = 0; i < n; ++i) { printf("请输入第%d个学生的数学成绩:", i+1); scanf("%f", &a[0][i]); sum[0] += a[0][i]; if (a[0][i]>max[0]) { max[0] = a[0][i]; } printf("请输入第%d个学生的英语成绩:", i+1); scanf("%f", &a[1][i]); sum[1] += a[1][i]; if (a[1][i]>max[1]) { max[1] = a[1][i]; } } min[0] = a[0][0]; min[1] = a[1][0]; for (i = 1; i < n; ++i) { if (a[0][i]<min[0]) { min[0] = a[0][i]; } if (a[1][i]<min[1]) { min[1] = a[1][i]; } } avg[0] = sum[0]/n; avg[1] = sum[1]/n; printf("总成绩 平均分 最高分 最低分\n"); for (i = 0; i < 2; ++i) { printf("%-8.2f%-8.2f%-8.2f%-8.2f\n", sum[i], avg[i], max[i], min[i]); } } 另外,团IDC网上有许多产品团购,便宜有口碑
admin
网友回答2022-01-13
#include<stdio.h> int main() { int a[10],i; float ave; printf("请输入分数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); ...这么简单的你也不会做???还是自己动手写,不然你c语言肯定挂。。。

回到
顶部