pat刷题分享——数字分类

	现在开始放假了,我也开始准备pat乙级的考试了,以后我会不定期与大家分享一些
	题目,今天和大家分享一下我昨天刷的一道关于数字分类的题目

题目如下

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

A​1= 能被 5 整除的数字中所有偶数的和;
A2​= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯;
A​3= 被 5 除后余 2 的数字的个数;
A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
A5= 被 5 除后余 4 的数字中最大数字。
输入格式:
每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

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

若其中某一类数字不存在,则在相应位置输出 N。

思路

这道题目其实写程序思路比较显而易见,就根据题目要求对A1,A2,A3,A4,A5,进行定义,然后进行输出就可以了

代码

#include
#include
int main()
{
int N=0,A1=0,A2=0,A3=0,A5=0,n=2,count=0;
double A4=0;
scanf("%d",&N);
int a[N],temp=4;
if(N>0 && N<=1000)
{
	for(int i=0;iA5)
		{
			A5=a[j];
		}
	}
}
if(count==0)
{
	count=1;
}
A4/=count;
int b[5];
b[0]=A1;
b[1]=A2;
b[2]=A3;
b[3]=A4;
b[4]=A5;

for(int i=0;i<3;i++)
{	
	if(b[i]==0)
	{
			b[i]='N';
			printf("%c",b[i]);
	}
	else
		{
				printf("%d",b[i]);
		}
	if(temp>0)
	{
		printf(" ");
	}
	temp--;
}
if(b[3]==0)
{
	printf("N");

}
else
{
	printf("%.1f",A4);
}
printf(" ");
	if(b[4]==0)
	{
			b[4]='N';
			printf("%c",b[4]);
	}
	else
		{
				printf("%d",b[4]);
		}
}

pat刷题分享——数字分类_第1张图片这是我自己写的程序,但是程序在运行的时候有一个节点出现了问题,如果有大神路过,麻烦帮小编纠纠错,万分感谢。

你可能感兴趣的:(pat刷题分享——数字分类)