首先输入 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 <iostream>
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;
}