|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。
输入描述
输入的第一行包含一个整数 n\ (1 \leq n \leq 10^4)n (1≤n≤10
4
),表示考试人数。
接下来 nn 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
输入输出样例
示例
输入
7
80
92
56
74
88
100
0
copy
输出
71%
43%
copy
运行限制
最大运行时间:1s
最大运行内存: 256M
<#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,m[1001],i;
int a=0,b=0,c,d;
double j=0,k=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&m[i]);
}
for(i=0;i<n;i++)
{
if(m[i]>=60)
{
a++;
}
if(m[i]>=85)
{
b++;
}
}
j=(a*1.0/n)*100;
k=(b*1.0/n)*100;
c=(int)(j+0.5);//四舍五入
d=(int)(k+0.5);
printf("%d%%\n",c);
printf("%d%%",d);
return 0;
}>
在编译器上输出正确,但提交的时候显示运行错误,这是为什么
试试这个: - #include <stdio.h>
- int main()
- {
- int n, score;
- float pass_rate = 0, merit_rate = 0;
- scanf("%d", &n);
-
- // 输入同时计算,一个 for 循环,时间复杂度 O(n)
- for(int i = 0; i < n; i++){
- scanf("%d", &score);
- if (score >= 85){
- merit_rate++;
- pass_rate++;
- }
- else if (score >= 60) pass_rate++;
- }
- printf("%.0f%%\n%.0f%%", pass_rate/n*100, merit_rate/n*100);
- return 0;
- }
复制代码
|
|