读入20个整型数据,将这20个数前面十个升序排序,后面十个降序排序,输出排序后的结果。求代码
思想方法:
1.把20个数据放入到数组里面去。
2.20个数据属于少量数据,用冒泡排序升序排列即可。
3.在此升序数组中,后面10个数据,第11个和第20个SWAP,第12个和第19个SWAP。。。。第15个和第16个交换。
此方法,不适用于大数据
#include<stdio.h>
int a[20];
int main()
{
for(int i=0; i<20; i++) scanf("%d",&a[i]);
for (int j=0; j<9; j++)
for (int i=0; i<8-j; i++)
{
if(a[i]>a[i + 1])
{
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for (int j=10; j<19; j++)
for (int i=10; i<19-j+10; i++)
{
if(a[i]<a[i+1])
{
int temp = a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(int i=0; i<20; i++)
{
printf("%d ",a[i]);
}
return 0;
}
20个数,升序排,放数组里,取后面10个在降序排放升序的数组就OK