码迷,mamicode.com
首页 > 其他好文 > 详细

PTA(Basic Level)1012.数字分类

时间:2019-09-27 21:27:32      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:main   ret   偶数   超过   namespace   个数   小数   空格   ==   

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:

  • A1 = 能被 5 整除的数字中所有偶数的和;
  • A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1?n2+n3?n4?;
  • A3 = 被 5 除后余 2 的数字的个数;
  • A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • A5 = 被 5 除后余 4 的数字中最大数字。
输入格式:

每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

输出格式:

对给定的 N 个正整数,按题目要求计算 A1~A5 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。

若其中某一类数字不存在,则在相应位置输出 N

输入样例 1:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出样例 1:
30 11 2 9.7 9
输入样例 2:
8 1 2 4 5 6 7 9 16
输出样例 2:
N 11 2 N 9
思路
  • 简单的手动模拟题,要注意的是判断不存在不要用=0来判断,像a2最后是有可能为0的,那样就不准了
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int a1 = 0;
    int a2 = 0, f2 = 1;
    int a3 = 0;
    double a4 = 0.0;
    int length_a4 = 0;
    int a5 = -1;
    bool change[6] = {0};
    int tmp;
    while(n--)
    {
        cin >> tmp;
        if(tmp % 5 == 0 && tmp % 2 == 0)
        {
            a1 += tmp;
            change[1] = true;
        }

        if(tmp % 5 == 1)
        {
            a2 += f2*tmp;
            f2 *= -1;
            change[2] = true;
        }

        if(tmp % 5 == 2)
        {
            a3++;
            change[3] = true;
        }

        if(tmp % 5 == 3)
        {
            a4 += tmp * 1.0;
            length_a4++;
            change[4] = true;
        }

        if(tmp % 5 == 4)
        {
            a5 = max(a5, tmp);
            change[5] = true;
        }
    }
    if(!change[1])
        cout << "N ";
    else
        cout << a1 << " ";
    if(!change[2])
        cout << "N ";
    else
        cout << a2 << " ";
    if(!change[3])
        cout << "N ";
    else
        cout << a3 << " ";
    if(!change[4])
        cout << "N ";
    else
        printf("%.1f ",a4/length_a4);
    if(!change[5])
        cout << "N";
    else
        cout << a5;
    return 0;
}
引用

https://pintia.cn/problem-sets/994805260223102976/problems/994805311146147840

PTA(Basic Level)1012.数字分类

标签:main   ret   偶数   超过   namespace   个数   小数   空格   ==   

原文地址:https://www.cnblogs.com/MartinLwx/p/11600142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!