由10个学生,每个学生考5门课程,要求编3个函数:1、随机产生这10个学生5门课成绩,输出在屏幕上;2、检查10个学生有无不及格的课程,如果有某一学生有一门或一门以上课程不及格,就输出该学生的号码(学号从0开始)和其全部课程成绩;3、输出10个学生的平均分和名次(提示:数组增加两列存放平均分和名次)。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
float stu[10][7];
void grade()
{
int i,j;
int a;
for(i=0; i<10; i++)
{
printf("%d\t", i);
for(j=0; j<5; j++)
{
srand(time(0));
a = rand()%100;
stu[i][j] = a;
printf("%d\t", a);
sleep(1);
}
printf("\n");
}
}
void Hky()
{
int i,j;
for(i=0; i<10; i++)
{
for(j=0; j<5; j++)
{
if(stu[i][j] < 60)
{
printf("%d\t", i);
printf("%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", stu[i][0],stu[i][1],stu[i][2],stu[i][3],stu[i][4]);
break;
}
}
}
}
void Zmj()
{
int i,j,temp;
for(i=0; i<10; i++)
{
stu[i][5] = (stu[i][0]+stu[i][1]+stu[i][2]+stu[i][3]+stu[i][4])/5;
stu[i][6] = 1;
}
for(i=0; i<10; i++)
{
for(j=i+1; j<10; j++)
{
if(stu[i][5] > stu[j][5])
{
stu[j][6]++;
}
else
{
stu[i][6]++;
}
}
}
for(i=0; i<10; i++)
{
printf("%d\t", i);
printf("%.2f\t%.2f\n", stu[i][5],stu[i][6]);
}
}
int main()
{
grade();
printf("-------------------------------------------\n");
Hky();
printf("-------------------------------------------\n");
Zmj();
return 0;
}
我知道还有很大的不足,有什么可以改进的地方可以在评论区留言。谢谢。