给定一系列正整数,请按要求对数字进行分类,-创新互联
题目链接
https://www.nowcoder.com/pat/6/problem/4078
创新互联是一家专注于成都网站设计、成都做网站与策划设计,三亚网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:三亚等地区。三亚做网站价格咨询:18980820575题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下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”。
输入例子:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出例子:
30 11 2 9.7 9
参考代码:
#include#include #define MAX(a,b) (a>b)?a:b int main() { int sum=0,sum1=0,sum1_flag=1,num2=0,sum3=0,sum3_num=0,max4=0,num,data; scanf("%d",&num); for(;num>0;num--){ scanf("%d",&data); switch(data%5){ case 0: if(!(data%2)) sum+=data; break; case 1: sum1+=sum1_flag*data; sum1_flag*=-1; break; case 2: num2++; break; case 3: sum3+=data; sum3_num++; break; case 4: max4=MAX(max4,data); break; default : break; } } if(sum>0&&sum1>0&&num2>0&&sum3_num>0&&max4>0) printf("%d %d %d %.1f %d\n",sum,sum1,num2,1.0*sum3/sum3_num,max4); else{ if(sum!=0) printf("%d ",sum); else printf("N "); if(sum1!=0) printf("%d ",sum1); else printf("N "); if(num2!=0) printf("%d ",num2); else printf("N "); if(sum3!=0) printf("%.1f ",1.0*sum3/sum3_num); else printf("N "); if(max4!=0) printf("%d",max4); else printf("N"); } return 0; }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:给定一系列正整数,请按要求对数字进行分类,-创新互联
网页网址:http://abwzjs.com/article/jppgh.html