C语言程序题

按照指定的学科对成绩进行统计,需要提供该门成绩的:最高分、最低分、平均分、及格率及在五个分数段的学生人数比率([0,59],[60,69],[70,79],[80,89],[90,100])

#include <stdio.h>
#include <stdlib.h>
void sort(int *a, int len)
{
int i, j, temp;
for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++)
if (a[j] < a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
int main()
{
int len, i, sum = 0;
int *a;
printf("请输入人数:");
scanf("%d", &len);
a = (int *)malloc(sizeof(int) * len);
printf("请输入各人的学科分数\n");
for (i = 0; i < len; i++)
{
printf("%d:", i + 1);
scanf("%d", &a[i]);
sum += a[i];
}
sort(a, len);
printf("最高分:%d,最低分:%d,平均分:%.1f\n", a[0], a[len - 1], (float)sum / len);
int a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0;
for (i = 0; i < len; i++)
{
if (a[i] < 60)
a5++;
else if (a[i] < 70)
a6++;
else if (a[i] < 80)
a7++;
else if (a[i] < 90)
a8++;
else
a9++;
}
printf("\n及格率:%.1f%%\n", (float)(len - a5) / len * 100);
printf("[0,59]比率:%.1f%%\n", (float)a5 / len * 100);
printf("[60,69]比率:%.1f%%\n", (float)a6 / len * 100);
printf("[70,79]比率:%.1f%%\n", (float)a7 / len * 100);
printf("[80,89]比率:%.1f%%\n", (float)a8 / len * 100);
printf("[90,100]比率:%.1f\n", (float)a9 / len * 100);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-17

相似回答