[每天例题]蓝桥杯 C语言 成绩统计

发布时间 2023-04-12 18:25:43作者: 山远尽成云

蓝桥杯 C语言 成绩统计

题目

题目要求

1.每个学生的得分都是一个 0 到 100 的整数,使用int。

2.如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀

3.请计算及格率优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

思路分析

1.输入成绩可以用数组,但是数组必须足够大,在10000左右。

2.采用for循环输入成绩。

3.采用for循环对数组成绩一一进行判断。

4.及格包含了及格+优秀,而优秀不包含及格,解决此问题有两种方法,一种是if与else if搭配使用,后面if为及格+优秀人数,二是if嵌套判断范围由大到小。

5.及格率与优秀率使用float声明,因为成绩为int型声明,所以需要将int型声明转换为float。

6.成绩四舍五入,故成绩取%0f。

代码

#include<stdio.h>
int main()
{
	int chengji[10000]={0},j,a;
	int jige=0,youxiu=0;
	float jigelv,youxiulv;//jige=及格人数,优秀=优秀人数 
	printf("请先输入考试人数,再输入考试成绩:");
	scanf("%d",&a);//输入考试人数 
	for(j=0;j<a;j++)
	{
		scanf("%d",&chengji[j]);
		if(chengji[j]>=60)
		jige++;
		if(chengji[j]>=85)
		youxiu++;
	}
	jigelv=jige*100.0/a;
	youxiulv=youxiu*100.0/a;//将int型转换为float
	printf("%.0f%%\n%0.f%%",jigelv,youxiulv);
	return 0; 
 }

 运行结果