第十一届蓝桥杯大赛软件类省赛第二场
问题描述
小蓝给学生们组织了一场考试,卷面总分为 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;
}