PAT乙級1012 數字分類(C語言)

2021-09-17 23:10:30 字數 1913 閱讀 7197

給定一系列正整數,請按要求對數字進行分類,並輸出以下 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 位;

a5 = 被 5 除后餘 4的數字中最大數字。

輸入格式:每個輸入包含 1 個測試用例。每個測試用例先給出乙個不超過 1000 的正整數 n,隨後給出 n 個不超過 1000 的待分類的正整數。數字間以空格分隔。

輸出格式:

對給定的 n 個正整數,按題目要求計算 a​1 ~ a​5並在一行中順序輸出。數字間以空格分隔,但行末不得有多餘空格。

若其中某一類數字不存在,則在相應位置輸出n

輸入樣例 1:

1312

3456

78910

2016

18

輸出樣例 1:

30112

9.79

輸入樣例 2:

812

4567

916

輸出樣例 2:

n112

n9

**部分:

#include

#include

int main()

if(a[i]%5

==1)//pow(-1,count2)用來控制符號

if(a[i]%5

==2)if

(a[i]%5

==3)//sum4統計和,count4統計個數

if(a[i]%5

==4)if

(max5

if(sum1==0)

printf

("n ");

//sum1為0,表示初值沒變

else

printf

("%d "

,sum1);if

(count2==0)

printf

("n ");

//count2為0,表示初值沒變

else

printf

("%d "

,sum2);if

(count3==0)

printf

("n ");

//count3為0,表示初值沒變

else

printf

("%d "

,count3);if

(sum4==0)

printf

("n ");

//sum4為0,表示初值沒變

else

printf

("%.1f "

,sum4/count4)

;//'.1f'控制小數點後一位

if(max5==0)

printf

("n");

//max5為0,表示初值沒變

else

printf

("%d"

,max5)

;return0;

}

執行結果:

PAT乙級1012 數字分類

見題知意,但是還是有幾點注意的地方 思路 很容易想到開闢乙個陣列,用陣列下標表示題中五類數字,然後對給出的每個數字分類處理就好 注意 a1 給出的都是正整數,故此類無需做特別處理 a2 因為是交錯求和,可能最後和為0,但不代表該類數字沒有 a3 簡單情況,即題意 a4 先求和,統計個數,最後計算平均...

PAT乙級 1012 數字分類

給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字 pat1012.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std define n 1000 intmain ver n int flag 0,temp 0,k ...

PTA乙級1012,數字分類

分析 include using namespace std intmain t 6 t2 1 a i 用於儲存ai,t i 用於儲存a i 中滿足條件的個數 cin n for int i 0 i else if x 5 1 else if x 5 2 else if x 5 3 else if ...