#include<stdio.h>
// 插入排序,获得从小到大数组,然后倒序从大到小输出
void xx1()
{
int a,b,c,temp;
scanf_s("%d%d%d", &a,&b,&c);
if(a<b){temp=a;a=b;b=temp;};
if(a<c){temp=a;a=c;c=temp;};
if(b<c){temp=b;b=c;c=temp;};
printf("%d %d %d",a,b,c);
}
void xx2()
{
int n, i, j, temp;
int arr[100];
printf("输入排序数字总数:");
scanf_s("%d", &n);
printf("一次性输入多个数字,空格隔开\n");
for (i = 0; i < n; i++) {
scanf_s("%d", &arr[i]); //输入
};
for(i=1; i<n; i++)
{ //从无序组的第一个元素开始
if(arr[i] < arr[i-1]) // 判断是否要向前寻找插入的位置
{
temp = arr[i];
for(j=i-1; j>=0 && arr[j]>temp; j--) arr[j+1] = arr[j]; //将大于自己的数依次向后挪位
arr[j+1] = temp; //插入 由于有个j--所以是j+1
}
};
for(i=n-1;i>=0;i--){
printf("%d ", arr[i]); //倒序输出
};
}
int main()
{
xx2();
system("pause");
return 0;
}
C语言输入数字,自动排序
该程序使用C语言实现了插入排序算法,首先对三个数进行排序,然后读取用户输入的一组数字进行排序,最后将排序后的数组倒序输出。
摘要由CSDN通过智能技术生成