欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

F 成绩统计

程序员文章站 2024-03-18 21:20:40
...

第十一届蓝桥杯大赛软件类省赛第二场

C/C++大学B组

问题描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

【输入格式】
输入的第一行包含一个整数 n,表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

【输出格式】
输出两行,每行一个百分数,分别表示及格率和优秀率。
百分号前的部分四舍五入保留整数。

【样例输入】
7
80
92
56
74
88
100
0

【样例输出】
71%
43%

注意点:

1.float四舍五入问题,保险运用:(int)+0.5
2.C语言当中,%的正确输出方式

代码块:

#include <stdio.h>
int main()
{
	int h;
	scanf("%d",&h);
	int a[h];
	for(int i=0;i<h;i++)
	{
		scanf("%d",&a[i]);
	}
	float j;//及格率
	float pp=0;
	float y;//优秀率 
	float ppp=0;
	for(int i=0;i<h;i++)
	{
		
		if(a[i]>=60)
		pp++;
	}
	j=pp/h;
	j=j+0.005;//阴阳怪气float,保险起见,四舍五入运用+0.5的范式
	j*=100;
	printf("%d%%",(int)j);//%的正确输出方式是'%%'
	
	printf("\n");	
	

	for(int i=0;i<h;i++)
	{
		if(a[i]>=85)
		ppp++;		
	}
	y=ppp/h;
	y=y+0.005;
	y*=100;
	printf("%d%%",(int)y);
		
	return 0;
}
新人博主,初出茅庐,求放过!