要求:输入一个正整数n, 再输入n个整数,将它们按从小到大的顺序输出
// 输入指定的整数,然后把整数按从小到大的顺序每5个一行输出 #include <stdio.h> void order(int *a, int len); //函数声明 int main() { int n; printf("您要输入几个整数? "); scanf("%d", &n); int a[n]; printf("请输入%d个整数: ", n); for (int i = 0; i<n; i++) { scanf("%d", &a[i]); } order(a, n); printf("After sorting: "); for (int i = 0; i<n; i++) { printf("%3d ", a[i]); if ((i+1) % 5 == 0) { //每输出5个,换行 printf(" "); } } return 0; } void order(int *a, int len) { int temp; for (int i = 0; i<len; i++) { for (int j = i+1; j<len-1; j++) { if (a[j] < a[i]) { //思路是,第一轮循环中,先假定a[0]最小,接下来只需要a[0]与后面的a[1], a[2]...依次比较,如果有a[x]比a[0]还小,就让a[x]为a[0],循环下去 temp = a[i]; a[i] = a[j]; a[j] = temp; } } // printf("a[%d] = %d ", i, a[i]); //查看每次循环的结果 } }