编写程序:将30个某班五名同学的某门课一门课的考试成绩放在一个一位数组中,求出最高分和最低分,求出低于平均分的人

(1)有3名学生5门课程的考试成绩存于二维数组中,求每名学生的平均分及3名学生的总平均分.程序清单:运
一七九Hw浖
#includeint main(){
int a[3][5];
int i,j,avg[3]={0,0,0};
为您推荐:
其他类似问题
扫描下载二维码函数编程练习学生成绩统计(一维数组)从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:(1)统计不及格人数并打印不及格学生名单;(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;(3)以直方图方式统计各分数段的学生人数及所占的百分比。形式如下:分数段
********70-79
********>=90
**** 会的帮一下,记得用函数!谢谢,不过不用结构更好
这回改了一下,把结构去掉了。#include #include #define NUM 30char student_name[NUM][10];int student_flag[NUM];int student_grade[NUM];int totle=0;void UnderLine();/*统计不及格人数并打印不及格学生名单*/void UpLine();/*统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单*/void Figure();/*以直方图方式统计各分数段的学生人数及所占的百分比*/int main(){ int i=0; printf("输入学生姓名和成绩(中间用空格隔开):\n"); for(i=0;i<NUM;i++) {
scanf("%s",student_name[i]);
scanf("%d",&student_grade[i]);
if(student_grade[i]==-1) }
totle=i; printf("选择功能:\n【0】退出\n【1】统计不及格人数并打印不及格学生名单\n"); printf("【2】统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单\n"); printf("【3】以直方图方式统计各分数段的学生人数及所占的百分比\n"); while(1) {
scanf("%d",&choice);
switch(choice)
UnderLine();
printf("请选择:");
printf("请选择:");
printf("请选择:");
} } return 0;}void UnderLine(){ int i,cnt=0; for(i=0;i<i++) {
if(student_grade[i]<60)
student_flag[i]=1;
} } printf("不及格人数:\t%d\n【名单及分数】\n",cnt); for(i=0;i<i++) {
if(student_flag[i]==1)
printf("%s\t%d\n",student_name[i],student_grade[i]); } }void UpLine(){ int i,cnt=0; double avg=0; for(i=0;i<i++)
avg+=student_grade[i]; avg/= printf("平均分:\t%.2f\n",avg); for(i=0;i<i++) {
if(student_grade[i]>=avg){
student_flag[i]=2;
} } printf("在全班平均分及平均分之上的学生人数:\t%d\n【名单及分数】\n",cnt); for(i=0;i<i++) {
if(student_flag[i]==2)
printf("%s\t%d\n",student_name[i],student_grade[i]); } }void Figure(){ int cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0; for(i=0;i<i++) {
if(student_grade[i]<60)
student_flag[i]=1;
else if(student_grade[i]>=60&&student_grade[i]<70)
student_flag[i]=2;
else if(student_grade[i]>=70&&student_grade[i]<80)
student_flag[i]=3;
else if(student_grade[i]>=80&&student_grade[i]<90)
student_flag[i]=4;
else if(student_grade[i]>=90)
student_flag[i]=5;
} } printf("分数段\t学生人数\t图形\n"); printf("<60\t%d(%.2f%%)\t",cnt1,(double)100*cnt1/totle); for(i=0;i<cnt1;i++)printf("*"); printf("\n"); printf("60-69\t%d(%.2f%%)\t",cnt2,(double)100*cnt2/totle); for(i=0;i<cnt2;i++)printf("*"); printf("\n"); printf("70-79\t%d(%.2f%%)\t",cnt3,(double)100*cnt3/totle); for(i=0;i<cnt3;i++)printf("*"); printf("\n"); printf("80-89\t%d(%.2f%%)\t",cnt4,(double)100*cnt4/totle); for(i=0;i<cnt4;i++)printf("*"); printf("\n"); printf(">=90\t%d(%.2f%%)\t",cnt5,(double)100*cnt5/totle); for(i=0;i<cnt5;i++)printf("*"); printf("\n");}
为您推荐:
扫描下载二维码用VB编程输入10名学生某一门课的成绩,求出其中的最高分,最低分和所有学生的平均分._百度知道
用VB编程输入10名学生某一门课的成绩,求出其中的最高分,最低分和所有学生的平均分.
提问者采纳
Text = Text1;; 10
Text2, average As SinglePrivate Sub Form_Load()
For i = 1 To 10
score(i) = Val(InputBox(&, &quot, min As Integer, &quot, &quotOption Base 1
Dim score(10) As Integer
Dim max As I请输入第 &0;成绩统计&个学生的成绩& max Then max = score(i)
If score(i) &&quot.Text & Str(score(i))
s = 0.Text = Format(average.00&quot: max = score(1); & Str(i) & & min Then min = score(i)
s = s + score(i)
average = s &#47.Text = max
Text4: min = score(1)
For i = 1 To 10
If score(i) &gt
提问者评价
其他类似问题
为您推荐:
vb编程的相关知识
其他1条回答
hello啊我可以搞定哈
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 某班五名同学的某门课 的文章

 

随机推荐