PTA 7-72 成绩分析表
某大学全校都开设C语言课程,每学年结束都按成绩进行统计和分析。请编写程序,输入优秀、良好、中等、及格和不及格的人数,输出成绩分析表。
输入样例
684 3290 7512 10958 37
输出样例
Rank Number Ratio
Excellent 684 3.0%
Good 3290 14.6%
Medium 7512 33.4%
Pass 10958 48.7%
Fail 37 0.2%
Total 22481 100.0%
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
int main()
{
int excel, good, medium, pass, fail, sum;//定义优秀、良好、中等、及格和不及格的变量
scanf( "%d %d %d %d %d", &excel, &good, &medium, &pass, &fail );
sum = excel + good + medium + pass + fail;//总人数相加
printf("Rank Number Ratio\n");//题目中要求的输出
printf("-----------------------\n");
printf("Excellent %6d %4.1f%\n", excel, (double) excel * 100 / (double) sum );//强制类型转换为double,计算优秀在总人数中的百分比
printf("Good %6d %4.1f%\n", good, (double) good * 100 / (double) sum );//强制类型转换为double,计算良好在总人数中的百分比
printf("Medium %6d %4.1f%\n", medium, (double) medium * 100 / (double) sum );//强制类型转换为double,计算中等在总人数中的百分比
printf("Pass %6d %4.1f%\n", pass, (double) pass * 100 / (double) sum );//强制类型转换为double,计算及格在总人数中的百分比
printf("Fail %6d %4.1f%\n", fail, (double) fail * 100 / (double) sum);//强制类型转换为double,计算不及格在总人数中的百分比
printf("-----------------------\n");
printf("Total %6d 100.0%\n", sum);
return 0;
}
解题思路:
先求总和再求百分比
归属知识点:
强制类型转换
输出格式