zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise: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

    提交代码:

     1 #include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     int cnt, num;
     6     int a1, a2, a3, a4, a5;
     7     int i, xor, a2_flag, a4_cnt;
     8 
     9     scanf("%d", &cnt);
    10 
    11     a1 = a2 = a3 = a4 = a5 = 0;
    12 
    13     xor     = 1;
    14     a2_flag = 0;
    15     a4_cnt  = 0;
    16 
    17     for(i = 0; i < cnt; i++)
    18     {
    19         scanf("%d", &num);
    20         if(num % 10 == 0)
    21         {
    22             a1 += num;
    23         }
    24 
    25         if(num % 5 == 1)
    26         {
    27             a2 += (xor == 1 ? num : -num);
    28             xor ^= 1;
    29             a2_flag = 1;
    30         }
    31 
    32         if(num % 5 == 2)
    33         {
    34             a3 += 1;
    35         }
    36 
    37         if(num % 5 == 3)
    38         {
    39             a4 += num;
    40             a4_cnt += 1;
    41         }
    42 
    43         if(num % 5 == 4)
    44         {
    45             if(num > a5)
    46                 a5 = num;
    47         }
    48     }
    49 
    50     //printf(a1 == 0 ? "%c " : "%d ", a1 == 0 ? 'N' : a1);
    51     if(a1 == 0)
    52         printf("N ");
    53     else
    54         printf("%d ", a1);
    55 
    56     //printf(a2_flag == 0 ? "%c " : "%d ", a2_flag == 0 ? 'N' : a2);
    57     if(a2_flag == 0)
    58         printf("N ");
    59     else
    60         printf("%d ", a2);
    61 
    62     //printf(a3 == 0 ? "%c " : "%d ", a3 == 0 ? 'N' : a3);
    63     if(a3 == 0)
    64         printf("N ");
    65     else
    66         printf("%d ", a3);
    67 
    68     //printf(a4 == 0 ? "%c " : "%.1f ", a4 == 0 ? 'N' : (float)a4/a4_cnt);
    69     if(a4 == 0)
    70         printf("N ");
    71     else
    72         printf("%.1f ", (float)a4/a4_cnt);
    73 
    74 
    75     //printf(a5 == 0 ? "%c" : "%d", a5 == 0 ? 'N': a5);
    76     if(a5 == 0)
    77         printf("N");
    78     else
    79         printf("%d", a5);
    80 
    81     return 0;
    82 }
  • 相关阅读:
    ScrollView卷轴视图
    SharedPreferences数据存储
    progressBar进度条
    SeekBar拖动条
    TabWidget选择标签
    RadioGroupRadioButton
    SQLite数据操作
    Spinner
    .NET学习资源
    如何在局域网内其他机器访问我的asp.net网站?
  • 原文地址:https://www.cnblogs.com/utank/p/4755601.html
Copyright © 2011-2022 走看看