[B]デジタル分類PAT

件名の説明:

、正の整数の系列に与えられたデジタル分類のための需要を押すと、次の5つの数字を出力します。

A1 = 5割り切れる番号と偶数であることができる。
デジタル添加は千鳥和、即ち、計算N 1-N 2 + N 3を所定の順序で実行された後、A 2 = 5が1以上となり⋯-N4;
A3 = 5は、デジタルI後の他の2つの数である
。4 I 3平均数5添加後=であり、小数点の場所に正確;
= 5が5以外であります最大数の数4。

入力フォーマット:

各入力は、テストを含みます。各テストケースは、正の整数を分類するために、1000を超えることはないではない1000以上のNの最初の正の整数を与えられ、その後、Nを与えています。数字の間のスペースで区切られています。

出力フォーマット:

任意の正の整数nに対して、A1〜A5要求の対象と順次行の出力に応じて算出されます。スペースで区切られた数字が、ラインの端部との間に余分なスペースを持っていないかもしれません。
もし番号が存在しない、請求特定のタイプ、対応する位置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<iostream>
#include<iomanip>
using namespace std;
int main() {
    int N,x,i=1;
    float c4=0;
    int c1=0,c2=0,c3=0,cn=0,c5=0;
    bool T1 = false,T2 = false,T3 = false,T4 = false,T5 = false;
    cin>>N;
    while(N--) {
        cin>>x;
        switch(x%5) {
            case 0:if(x%2==0) {
				c1+=x;T1=true;
				}
				break;
            case 1:c2+=(i*x);i=-i;T2=true;break;
            case 2:c3++;T3=true;break;
            case 3:c4+=x;cn++;T4=true;break;
            case 4:if(x>c5)c5=x;T5=true;break;
        }
    }
    (T1)?(cout<<c1<<" "):(cout<<"N ");
    (T2)?(cout<<c2<<" "):(cout<<"N ");
    (T3)?(cout<<c3<<" "):(cout<<"N ");
    (T4)?(cout<<fixed<<setprecision(1)<<c4/cn<<" "):(cout<<"N ");
    (T5)?(cout<<c5):(cout<<"N");
    return 0;
}
公開された55元の記事 ウォン称賛30 ビュー9801

おすすめ

転載: blog.csdn.net/chaifang0620/article/details/105024276