最大值和最小值能找到,但是重新排序后的数字还是没有变化,应该怎么修改
1条回答 默认 最新
关注
你这代码没有重新排序啊,只是找出了最小值和最大值而已
我简单写了一个排序,可以参考一下
#include <stdio.h> int main() { int a[5],i,j; //数组初始化 for (i = 0; i < 5; i++) { a[i] = 0; } //用户输入 for (i = 0; i < 5; i++) { scanf("%d", &a[i]); } //冒泡排序 int temp; for (i = 0; i < 5 - 1; i++) { for (j = 0; j < 5 - i - 1; j++) { if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } //遍历输出 printf("排序后:\n"); for (i = 0; i < 5; i++) { printf("%d\n",a[i]); } return 0; }
运行结果如下
上面的排序看不懂的话,那就看看这个排序吧
#include <stdio.h> int main() { int a[5], i, j; //数组初始化 for (i = 0; i < 5; i++) { a[i] = 0; } //用户输入 for (i = 0; i < 5; i++) { scanf_s("%d", &a[i]); } //随便写的排序 for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (a[i] < a[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } } } //遍历输出 printf("排序后:\n"); for (i = 0; i < 5; i++) { printf("%d\n", a[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用