zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practice 1012 数字分类 (20分)

    1.题目

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

    • A​1​​ = 能被 5 整除的数字中所有偶数的和;
    • A​2​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n​1​​−n​2​​+n​3​​−n​4​​⋯;
    • A​3​​ = 被 5 除后余 2 的数字的个数;
    • A​4​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
    • A​5​​ = 被 5 除后余 4 的数字中最大数字。

    输入格式:

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

    输出格式:

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

    若其中某一类数字不存在,则在相应位置输出 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

    2.代码

    #include<stdio.h>
    int main()
    {
    	int amount;
    	int list[1000];
    	double answer[5] = { 0 };
    	int i;
    	int j = -1;
    int  sum = 0, count = 0,count1=0;
    	int max = 0;
    	int choose = 0;
    	scanf("%d", &amount);
    	for (i = 0; i < amount; i++)
    		scanf("%d", &list[i]);
    
    	for (i = 0; i < amount; i++)
    	{
    
    		choose = list[i] % 5;
    		switch (choose)
    		{
    		case 0:
    		{
    			if (list[i] % 2 == 0)
    				answer[0] += list[i];
    		}break;
    		case 1:
    		{
    			j = -j;
    			answer[1] += j*list[i];
    			count1++;
    		}break;
    	case 2:
    		{
    			answer[2]++;
    		}break;
    	case 3:
    		{
    			sum =sum+ list[i];
    			count++;
    	}break;
    	case 4:
    	{
    		if (list[i] > max)
    			max = list[i];
    
    	}break;
    
    		}
    	}
    	
    
    	if (count != 0)
    		answer[3] =sum / (double)count;
    	else
    		answer[3] = 0;
    	answer[4] = max;
    
    
    	if (answer[0] != 0)
    		printf("%.0lf", answer[0]);
    	else
    		printf("N");
    
    	for (i = 1; i < 5; i++)
    	{
    		if (answer[i] != 0&&i!=3)
    			printf(" %.0lf", answer[i]);
    		else if(answer[i]!=0&&i==3)
    			printf(" %.1lf", answer[i]);
    		else if (i==1&&answer[i]==0)
    		{
    		if(count1!=0)
    			printf(" %.0lf", answer[i]);
    		else
    			printf(" N");
    		}
    		else
    			printf(" N");
    	}
    
    }
    
  • 相关阅读:
    详解REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
    HTTP Header 详解
    搜索引擎爬虫蜘蛛的useragent
    PHP防抓取数据curl 解决方法
    用curl抓取网站数据,仿造IP、防屏蔽终极强悍解决方式
    windows下 composer常见问题及处理
    Composer命令详解
    SSM框架之RestFul示例
    关于SpringMVC返回数据带斜杠字符串问题之解决方案
    js之radio应用实例
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12788974.html
Copyright © 2011-2022 走看看