c++ 求解

根据期中考试中每个同学高等数学、大学英语、程序设计基础三门课的成绩,利用函数进行如下信息统计,学生人数30人,建议使用二维数组存储数据。所有学生的成绩采用随机生成,每门课... 根据期中考试中每个同学高等数学、大学英语、程序设计基础三门课的成绩,利用函数进行如下信息统计,学生人数30人,建议使用二维数组存储数据。
所有学生的成绩采用随机生成,每门课的成绩为[40,100]之间的随机数。
数据的初始化采用自定义的initData函数实现,分别编写studentAve函数求每个学生平均分的从高到低输出学生的成绩,一个学生一行;courseAve函数求课程平均分并输出每门课程的平均分;countFail函数统计有不及格学生的人数和不及格人次数,并输出这两项数据。
展开
 我来答
LonelyCstone
2012-11-27 · 超过20用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:51.4万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/*数据的初始化采用自定义的initData函数实现,
studentAve函数求每个学生平均分的从高到低输出学生的成绩,一个学生一行;
courseAve函数求课程平均分并输出每门课程的平均分;
countFail函数统计有不及格学生的人数和不及格人次数,并输出这两项数据。*/
void initData(int student[30][3])
{//数据的初始化
int i,j;
for(i=0;i<30;i++)
{
for (j=0;j<3;j++)
{
student[i][j]=40+rand()%61;
}
}
}
void studentAve(int student[30][3])
{//每个学生平均分的从高到低输出学生的成绩,一个学生一行
int Ave[30];
int i,j,t;
for (i=0;i<30;i++)
{
Ave[i]=(student[i][0]+student[i][1]+student[i][2])/3;
}
for (i=0;i<30;i++)
{
for(j=i+1;j<30;j++)
{
if(Ave[i]<Ave[j])
{t=Ave[i];
Ave[i]=Ave[j];;
Ave[j]=t;}
}
}
printf("The average scores from high to low arrangement for:\n");
for(i=0;i<30;i++)
{
printf("%d\n",Ave[i]);
}

}
void courseAve(int student[30][3])
{//求课程平均分并输出每门课程的平均分
int i,j;
int Ave[3];
for(i=0;i<3;i++)
{
int count=0;
for(j=0;j<30;j++)
{
count+=student[j][i];
}
Ave[i]=count/30;
printf("the course %d average scores is:%d\n",i+1,Ave[i]);
}
}
void countFail(int student[30][3])
{//统计有不及格学生的人数和不及格人次数,并输出这两项数据
int NoStudent=0;
int Notime[30];
int i,j;
for(i=0;i<30;i++)
{
Notime[i]=0;
for(j=0;j<3;j++)
if(student[i][j]<60)
{
Notime[i]++;
}
if(Notime[i]!=0)
NoStudent++;
}
printf("there are %d students failed in the exam.\n",NoStudent);
for(i=0;i<30;i++)
{
if(Notime[i]!=0)
printf("student %d failed %d times\n",i+1,Notime[i]);
}
}
int main(){
int student[30][3];
initData(student);
studentAve(student);
courseAve(student);
countFail(student);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式