https://www.nowcoder.com/pat/6/problem/4078
創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站設(shè)計制作、成都做網(wǎng)站的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站設(shè)計公司,創(chuàng)新互聯(lián)依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站及網(wǎng)站設(shè)計開發(fā)服務(wù)!
給定一系列正整數(shù),請按要求對數(shù)字進行分類,并輸出以下5個數(shù)字: A1 = 能被5整除的數(shù)字中所有偶數(shù)的和; A2 = 將被5除后余1的數(shù)字按給出順序進行交錯求和,即計算n1-n2+n3-n4...; A3 = 被5除后余2的數(shù)字的個數(shù); A4 = 被5除后余3的數(shù)字的平均數(shù),精確到小數(shù)點后1位; A5 = 被5除后余4的數(shù)字中最大數(shù)字。
每個輸入包含1個測試用例。每個測試用例先給出一個不超過1000的正整數(shù)N,隨后給出N個不超過1000的待分類的正整數(shù)。數(shù)字間以空格分隔。
對給定的N個正整數(shù),按題目要求計算A1~A5并在一行中順序輸出。數(shù)字間以空格分隔,但行末不得有多余空格。 若其中某一類數(shù)字不存在,則在相應(yīng)位置輸出“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; }