齐齐录成绩

该博客讲述了齐齐在录入成绩时遇到的问题,包括单科分数超出范围、平均分不符和总分不符三种错误类型。博客提供了输入输出描述,并要求找出成绩有问题的学生个数。

齐齐给教务处录入成绩,但是一时糊涂,将部分成绩录错了,现在齐齐要查出错误。
已知登入成绩的m个学生有n科成绩,每科成绩的分值上限是100分。
现在已知错误的种类有以下3种:
1) 单科分数过大(>100),或过小(<0)。
2) n科成绩的平均分与录入平均分不相等。
3) n科成绩总和与录入成绩总和不相等。
请你输出m个学生中成绩有问题的学生个数。

输入描述:

第1行输入两个整数m、n,表示学生的个数和科目的个数。
第2-m+1行,每行输入n+2个整数,前n个整数代表第i个学生的各科目成绩,第n+1个整数代表第i个学生的平均分(向下取整),第n+2个整数代表第i个学生的总分。
数据保证:0<m≤10 5,0<n≤10。

输出描述:

输出一个整数,代表成绩有问题的学生个数。

输入:

2 3
99 99 99 99 297
99 99 98 99 296

输出:

1

代码:

#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    int n , m;
    int k1 , k2;
    int tip = 0;
    cin>>n>>m;
    for(int i = 1 ; i <= n ; i++)
    {
        int flag = 1 , k , sum = 0;
        for(int j = 1 ;j <= m ; j++)
        {
            cin>>k;
            sum += k;
            if((k > 100 || k < 0) && flag == 1)
            {
                flag = 0;
                tip++;
            }
        }
        cin>>k1>>k2;
        if(k1 != sum / m || k2 != sum)
            if(flag == 1)
              tip++;
    }
    cout<<tip;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值