HDOJ 2019 数列有序
一开始我准备在原数组输出的时候判断大小,但发现要分类讨论很多种情况。。
干脆先排序,再输出。
把新输入的那个数放进原数组,看成一个新的数组,再冒泡排序一下,再输出。
#include<stdio.h>
void paixu(int n,int *a) //冒泡排序
{
int i,j;
int temp;
for (i=0; i<n-1; ++i)
{
for (j=0; j<n-1-i; ++j)
{
if (*(a+j) > *(a+j+1))
{
temp = *(a+j);
*(a+j) = *(a+j+1);
*(a+j+1) = temp;
}
}
}
}
int main()
{
int n;
while(~scanf("%d",&n))
{
int m;
scanf("%d",&m);
if(m!=0&&n!=0)
{
int a[101]; //相应的,数组要多一位
int i;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
}
a[n]=m; //把m放到数组的最后一项
paixu(n+1,a);
for(i=0;i<n+1;i++)
{
if(i==0)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
printf("\n");
}
}
}