原题链接 C语言训练-排序问题(1) - C语言网 (dotcpp.com)https://www.dotcpp.com/oj/problem1128.html
#include "stdio.h"
int a[10]={0};
//交换函数
void swap(int*,int*);
int main(){
int i,j,x;
for (i=0;i<4;i++)
scanf ("%d",&a[i]);
while(1){
//两个指针i,j指向相邻两个数
//每次循环都从头开始遍历
i=0; j=1;
//x循环控制变量
//如果这一轮都没有进行交换,说明已经排好了,退出循环
x=1;
for (;j<4;j++){
if (a[i]>a[j]){
swap(&a[i], &a[j]);
x=0;
}
i++;
}
if (x) break;
}
for (i=0;i<4;i++)
printf("%d ",a[i]);
return 0;
}
void swap (int* c, int* d){
int t; t=*c; *c=*d; *d=t;
}