数字金字塔

首先输入 1~10 个正整数,输入的结束条件为,已经输入了 10 个数,或输入的数不是正整数。然后按照下面的格式输出这些正整数。第一行输出最大的正整数;第二行依次输出最大和第二大的正整数;…;依此类推,最后一行由大到小输出所有正整数。
测试举例输入:10 94 138 9 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;
}

你可能感兴趣的:(数字金字塔)