Problem description
输入10个数,将这10个数分别按照从小到大的顺序和从大到小的顺序依次输出。
思路
从小到大或从大到小,均为将相邻数进行比较,满足条件则交换,否则不进行操作,这样,一趟比较下来,即可得到最大数或最小数,然后将剩余数继续进行两两比较,直到所有的数目成序为止。
知识点
冒泡排序的用法
附上代码:
#include<stdio.h>
int main()
{
int x[10],i,j,t;
for(i=0;i<10;i++)
scanf("%d",&x[i]); //输入10个数
for(i=0;i<10;i++)
for(j=0;j<9-i;j++)
if(x[j]<x[j+1])
{
t=x[j];
x[j]=x[j+1];
x[j+1]=t;
} //冒泡排序
for(i=0;i<10;i++)
printf("%d ",x[i]); //由大到小输出
printf("\n");
for(i=9;i>=0;i--)
printf("%d ",x[i]); //由小到大输出
printf("\n");
return 0;
}
运行结果
总结
掌握熟练冒泡排序对于这种题就可以得心应手