1012 数字分类 (20 分)

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1012 数字分类 (20 分)相关的知识,希望对你有一定的参考价值。

1012 数字分类 (20 分)

给定一系列正整数,请按要求对数字进行分类,并输出以下 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
#include <stdio.h>
int main()
 {
  	int n,i=0,j=0,flag=1,count=0,t=0,array[1000],An[5];
  	char ch;

  	scanf("%d",&n);//输入样例中的第一个数字是即将要输入多少个数字  
  	do 
  		{
  			scanf("%d",&array[j++]);
			  ch=getchar();	
		}
	while(ch!='\\n');//共有j个数字 
	
	for(i=0;i<5;i++)
		An[i]=0;//初试化 0 

	for(i=0;i<j;i++)
		{
			if((array[i]%5)==0 && (array[i]%2)==0)//能被 5 整除的数字中所有偶数的和;
				An[0]+=array[i];
				
			if((array[i]%5)==1)//将被 5 除后余 1 的数字按给出顺序进行交错求和
				{
					An[1]+=flag*array[i];
					flag=-flag;
					t++; //交错求和 结果可能也为0,后面判断输出用的 
				}
				
			if((array[i]%5)==2)//被 5 除后余 2 的数字的个数;
					An[2]+=1;
					
			if((array[i]%5)==3)//被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
					{
						An[3]+=array[i];
						count=count+1;//统计个数,平均值 输出时处理 
					}
							
			 if((array[i]%5)==4)//被 5 除后余 4 的数字中最大数字。
				An[4]=(array[i]>An[4])? array[i]:An[4];
			/*	{
						
						if(array[i]>An[4])
							An[4]=array[i];
					}*/	
		}
			
		

	if((An[0]==0)) printf("N ");
		else printf("%d ",An[0]);
		
	if(t==0) printf("N ");
		else printf("%d ",An[1]);
		
	if((An[2]==0)) printf("N ");
		else printf("%d ",An[2]);
		
	if((An[3]==0)) printf("N ");
		else printf("%.1lf ",(An[3]*1.0/count));
		
	if((An[4]==0)) printf("N");
		else printf("%d",An[4]);

    return 0;
}

 

以上是关于1012 数字分类 (20 分)的主要内容,如果未能解决你的问题,请参考以下文章

1012 数字分类 (20 分)

1012 数字分类 (20 分)

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

PATB1012 数字分类(20 分)

1012 数字分类

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