#include<stdio.h>
typedef struct
{
int grade;
char sno;
}student_grade;
void max_grade(student_grade sg[],int n)
{
int i=0;
for( int j=1;j<n;j++)
{
if(sg[j].grade>sg[i].grade)
{
i=j;
}
}
printf("max grade:%d\n",sg[i].grade);
}
void average_grade(student_grade sg[],int n)
{
int sum=0;
for(int j=0;j<n;j++)
{
sum=sum+sg[j].grade;
}
printf("average grade id:%.2f\n",((float)sum)/n);
}
void statistic_nums(student_grade sg[],int n)
{
int nums[10];
int x;int i=0;
for(;i<10;i++)
{
nums[i]=0;
}
for(i=0;i<n;i++)
{
x=sg[i].grade/10;
switch(x)
{
case 0:nums[0]++;break;
case 1:nums[1]++;break;
case 2:nums[2]++;break;
case 3:nums[3]++;break;
case 4:nums[4]++;break;
case 5:nums[5]++;break;
case 6:nums[6]++;break;
case 7:nums[7]++;break;
case 8:nums[8]++;break;
case 9:nums[9]++;break;
case 10:nums[9]++;break;
default:printf("erro\n");
}
}
printf("0-9 num:%d\n",nums[0]);
printf("10-19 num:%d\n",nums[1]);
printf("20-29 num:%d\n",nums[2]);
printf("30-39 num:%d\n",nums[3]);
printf("40-49 num:%d\n",nums[4]);
printf("50-59 num:%d\n",nums[5]);
printf("60-69 num:%d\n",nums[6]);
printf("70-79 num:%d\n",nums[7]);
printf("80-89 num:%d\n",nums[8]);
printf("90-100 num:%d\n",nums[9]);
}
int main()
{
student_grade sg[6];
sg[0].grade=88;
sg[1].grade=66;
sg[2].grade=99;
sg[3].grade=29;
sg[4].grade=77;
sg[5].grade=77;
max_grade(sg,6);
average_grade(sg,6);
statistic_nums(sg,6);
}
录入一张百分制成绩单(字段为:学号,得分),设计一个程序求解最高分和平均分,并统计各分数段(每10分为一段)的人数
猜你喜欢
转载自blog.csdn.net/qq_34752068/article/details/84531628
今日推荐
周排行