你这代码没有重新排序啊,只是找出了最小值和最大值而已
我简单写了一个排序,可以参考一下
#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;
}