給定一系列正整數(shù),請按要求對數(shù)字進(jìn)行分類,并輸出以下5個(gè)數(shù)字:
A1 = 能被5整除的數(shù)字中所有偶數(shù)的和;A2 = 將被5除后余1的數(shù)字按給出順序進(jìn)行交錯(cuò)求和,即計(jì)算n1-n2+n3-n4...;A3 = 被5除后余2的數(shù)字的個(gè)數(shù);A4 = 被5除后余3的數(shù)字的平均數(shù),精確到小數(shù)點(diǎn)后1位;A5 = 被5除后余4的數(shù)字中最大數(shù)字。
輸入格式:
每個(gè)輸入包含1個(gè)測試用例。每個(gè)測試用例先給出一個(gè)不超過1000的正整數(shù)N,隨后給出N個(gè)不超過1000的待分類的正整數(shù)。數(shù)字間以空格分隔。
輸出格式:
對給定的N個(gè)正整數(shù),按題目要求計(jì)算A1~A5并在一行中順序輸出。數(shù)字間以空格分隔,但行末不得有多余空格。
若其中某一類數(shù)字不存在,則在相應(yīng)位置輸出“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 count[5]={0}; int num[5]={0}; int n,k; int max=-1; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&k); if(k%5==0){ if(k%2==0) count[0]+=k; num[0]++; }else if(k%5==1){ num[1]++; if(num[1]%2==1)count[1]+=k; else count[1]-=k; }else if(k%5==2){ num[2]++; }else if(k%5==3){ count[3]+=k; num[3]++; }else{ if(k>count[4]) count[4]=k; num[4]++; } } if(count[0]==0) PRintf("N "); else printf("%d ",count[0]); if(num[1]==0) printf("N "); else printf("%d ",count[1]); if(num[2]==0) printf("N "); else printf("%d ",num[2]); if(num[3]==0) printf("N "); else printf("%.1f ",1.0*count[3]/num[3]); if(num[4]==0) printf("N"); else printf("%d",count[4]); return 0; }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注