Think:
早上的分组赛,下午的训练赛, 整个人感觉萌萌哒~~~~
不得不说 这题贼坑 反正 我TLE 了好久 后来才发现是 cin 输入的锅~~~~
没错 本UP主又回来啦~~~~~
Problem Description
福州大学某班共有n名学生,这些学生这学期都选修了3门课,分别是大物、高数、大英。YellowStar想对这学期总绩点不低于3.0的学生进行奖励,所以他将每名学生每门课程的分数告诉你,并希望你能告诉他他必须对多少名学生进行奖励。
对于单门课程的绩点计算方法是(分数/10-5),如分数是69,那么绩点就是1.9,学生的总绩点就是他每门课程的绩点的平均值。但是要注意的是,当某门课程的分数小于60时,就会被视为挂科,总绩点直接为0。
Input
包含多组测试数据。
第一行输入一个整数n,表示一共有n名学生。
接下来输入n行,每行3个整数,分别表示当前学生的3门课程的分数,分数都不大于100且不小于0。
n≤500000
Output
输出一个整数,表示有多少人的总绩点不低于3.0。
Sample Input
3
59 50 92
60 80 97
83 94 67
Sample Output
1
Hint
第一名同学有低于60分的科目,所以总绩点为0。 第二名同学的总绩点为(1+3+4.7)/3=2.9 第三名同学的总绩点为(3.3+4.4+1.7)/3约为3.13 只有最后一名同学的总绩点超过3.0
#include<cstdio>
using namespace std;
int main()
{
int n;
int M1, M2, M3;
double a, b, c;
int i;
int cnt;
while(~scanf("%d",&n))
{
cnt = 0;
for (i = 0;i <= n - 1;i ++)
{
// a = b = c = 0;
scanf("%d%d%d",&M1, &M2, &M3);
if (M1 < 60)
a = -10086;
else
a = M1 * 0.1 - 5;
if (M2 < 60)
b = -10086;
else
b = M2 * 0.1 - 5;
if (M3 < 60)
c = -10086;
else
c = M3 * 0.1 - 5;
if (a + b + c >= 9)
cnt ++;
}
printf("%d\n",cnt);
}
}