デジタルピラミッド

7490 ワード

まず1〜10個の正の整数を入力し、入力の終了条件は、すでに10個の数が入力されているか、入力された数が正の整数ではないかである.次に、これらの正の整数を次のフォーマットで出力します.最初の行は最大の正の整数を出力します.2行目は最大と2行目の正の整数を順次出力します.このようにして、最後の行は大きいから小さいまですべての正の整数を出力します.テスト例入力:10 94 1389 7 12 0出力:
138
138 94
138 94 12
138 94 12 10
138 94 12 10 9
138 94 12 10 9 7
#include 
using namespace std;
int main()
{
    int a[10], n=10,i=0;
    while(i<10)
    {
        cin>>a[i];
        if(a[i]<=0)
        {
            break;
        }
        i++;
    }
    for(int j=0;j<i-1;j++)
    {
        for(int k=0;k<i-1-j;k++)
        {
            if(a[k]<a[k+1])
            {
                int temp=a[k];
                a[k]=a[k+1];
                a[k+1]=temp;
            }
        }
    }
    for(int m=0;m<i;m++)
    {
        for(int p=0;p<m;p++)
        {
            cout<<a[p]<<" ";
        }
        cout<<a[m];
        if(m!=i-1)
        {
            cout<<endl;
        }
    }
    return 0;
}