• 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");
    	}
    
    }
    
  • 相关阅读:
    高阶函数 map
    高阶函数_filter
    sort和sorted方法的使用
    一个函数作为另外一个函数的参数
    匿名函数
    jenkins+Xcode+蒲公英实现ipa自动打包发布全攻略
    iOS 画贝塞尔曲线 连续曲线 平滑曲线 曲线图表
    基于WebRTC实现iOS端音频降噪功能
    苹果ios音频的回声消除处理
    iOS实现录音功能
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12788974.html
Copyright © 2020-2023  润新知