for(i=0;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
if(a[0]==1)
{for(j=0;j<10;j++)
for(i=0;i<10-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=1;i<=10;i++)
printf("%d",a[i]);
printf("\n");}
else
{for(j=0;j<10;j++)
for(i=0;i<10-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=10;i>0;i--)
printf("%d",a[i]);
printf("\n");}
return 0;
应该是打印排序后的数之间少了个空格,升序和降序排序后两处打印那里加一个空格应该就可以了,因为题目要求两个数之间要打印一个空格, 然后打印的换行如果需要也可以去掉;另外冒泡排序那里的也修改下。
修改如下:
参考链接:
冒泡排序_百度百科
#include<stdio.h>
int main()
{
int i,j,a[11],t;
for(i=0;i<11;i++)
scanf("%d",&a[i]);
// printf("\n");
if(a[0]==1)
{
for(j=1;j<10;j++)
for(i=1;i<11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=1;i<=10;i++)
printf("%d ",a[i]);
// printf("\n");
}
else
{
for(j=1;j<10;j++)
for(i=1;i<11-j;i++)
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=1;i<=10;i++)
printf("%d ",a[i]);
//printf("\n");
}
return 0;
}