#include<stdio.h>
int Input_Info(int num[],int score[])
{
int count=-1;
do
{
count++;//记录人数
printf("请输入学号:");
scanf("%d",&num[count]);//录入学号
printf("请输入分数:");
scanf("%d",&score[count]);//录入分数
}while(score[count]>=0);//分数小于0 跳出录入
return count;//返回人数
}
float Calc_Aver(int score[],int n)
{
int i,sum=0;
for(i=0;i<n;i++)//遍历分数
{
sum+=score[i];//累加
}
return sum*1.0/n;//计算平均值
}
void Print_High_Stu(int num[],int score[],int n,float aver)
{
int i;
for(i=0;i<n;i++)
{
if(score[i]>aver)//分数大于平均数输出
{
printf("学号:%d,分数%d\n",num[i],score[i]);
}
}
}
void Calc_Stu_Num(int score[],int stu[],int n)
{
int i;
for(i=0;i<n;i++)
{
switch(score[i]/10)//分数除10 找到分段
{
case 10:
stu[5]++;
break;
case 9:
stu[4]++;
break;
case 8:
stu[3]++;
break;
case 7:
stu[2]++;
break;
case 6:
stu[1]++;
break;
default:
stu[0]++;
break;
}
}
for(i=0;i<6;i++)//输出分段人数
{
printf("第%d段有%d人\n",i,stu[i]);
}
}
int main()
{
int num[30];//存放学号
int score[30];//存放分数
int count;//记录人数
float aver;//记录平均分
int stu[6]={0};//记录每段人数
count = Input_Info(num,score);//输入信息
aver = Calc_Aver(score,count);//计算平均分
Print_High_Stu(num,score,count,aver);//显示高于平均分信息
Calc_Stu_Num(score,stu,count);//计算在哪个分段
return 0;
}
学生成绩统计
最新推荐文章于 2021-05-18 14:03:31 发布