PTA(Basic Level)1012.数字分类

给定一系列正整数,请按要求对数字进行分类,并输出以下 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

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

时间: 2024-11-08 02:16:27

PTA(Basic Level)1012.数字分类的相关文章

PAT 1012 数字分类 C语言

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

*1012. 数字分类

1 /* 2 * Main.c 3 * 1012. 数字分类 4 * Created on: 2014年8月30日 5 * Author: Boomkeeper 6 ********部分通过****** 7 */ 8 9 #include <stdio.h> 10 #include <math.h> 11 12 void A1(int in,int* sum){ 13 14 if(in%5==0&&in%2==0) 15 (*sum)+=in; 16 } 17 18

PAT乙级 1012. 数字分类 (20)

1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数

C++&#183;PAT乙级1012.数字分类 (20/20)

/* 1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的

来自PTA Basic Level的三只小野兽

点我阅读原文 最近利用闲暇时间做了一下 PTA Basic Level[1] 里的题,里面现在一共有 95 道题,这些题大部分很基础,对于刷倦了 leetcode 的小伙伴可以去里面愉快的玩耍哦. 这里我挑了三个挺有意思的题来做个简单记录,欢迎和大家一起讨论交流. 请听题: 第一题:1009 说反话 题目描述 给定一个英语句子,各个单词之间用空格分隔.要求你编写程序,将句中所有单词的顺序颠倒输出. 输入示例 Hello World Here I Come 输出示例 Come I Here Wor

PAT (Basic Level) Practice (中文) 1012 数字分类

1 #include<cstdio> 2 using namespace std; 3 int num[5],sumn[5],n; 4 void init(); 5 void read(); 6 void deal(); 7 int main(){ 8 init(); 9 read(); 10 deal(); 11 return 0; 12 } 13 void init(){ 14 for(int i=0;i<=4;i++){ 15 num[i] = 0; 16 sumn[i] = 0;

PAT——1012. 数字分类

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

1012. 数字分类 (20)

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT 1012. 数字分类 (20)

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式: