列表

详情


NC220413. 楠姐的成绩统计

描述

09级的楠姐是学霸中的战斗机,本科期间专业课拿过n个满分(n≥4),后来去了中科院读博士,现在某东,已经开始指导后辈发论文了。
楠姐给419的渣渣们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0100的整数。

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

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


输入描述

输入的第一行包含一个整数n,表示考试人数。

接下来n行,每行包含一个0 至100 的整数,表示一个419er的得分。

输出描述

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

示例1

输入:

7
80
92
56
74
88
100
0

输出:

71%
43%

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++11) 解法, 执行用时: 4ms, 内存消耗: 388K, 提交时间: 2021-04-01 15:25:16

#include<bits/stdc++.h>
using namespace std;
int main(){
   int n,yx=0,jg=0,a;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a);
		if(a>=60)jg++;
		if(a>=85)yx++;
	}
	printf("%d%%\n%d%%",(int)((float)100*jg/n+0.5),(int)((float)100*yx/n+0.5));
	return 0;
}

Python3(3.9) 解法, 执行用时: 35ms, 内存消耗: 2904K, 提交时间: 2021-04-01 13:42:04

n=int(input())
ls=[]
for i in range(n):
    ls.append(int(input()))
a=0
b=0
for i in ls:
    if 60<=i<85:
        a+=1
    elif 85<=i:
        b+=1
    else:
        pass
print('%d%%'%int((a+b)/n*100+0.5))
print('%d%%'%int(b/n*100+0.5))

C 解法, 执行用时: 3ms, 内存消耗: 400K, 提交时间: 2023-07-22 09:05:24

main()
{
	int n,a[10001],i,x,y;
	x=0,y=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
	scanf("%d",&a[i]);
	if(a[i]>=60)
	x++;
	if(a[i]>=85)
	y++;
	}
	printf("%.0lf%%\n%.0lf%%",(x+0.0)*100/n,(y+0.0)*100/n);
}

上一题