#include <iostream>
using namespace std;
int main()
{
int a[10] = {4, 31, 5, 67, 4, 4, 3, 2, 6, 0}, i, j, x, z;
for (i = 0; i < 9; i++)
{
x = i; //,先将a[i]当成最小的数,遍历找到最小的数的下标
for (j = i + 1; j < 10; j++)
{
if (a[x] > a[j]) //a[x]当成最小的数,于后面的元素一 一比较,
x = j; //如果a[x]>a[j]那么x等于j,变换最小值的下标
}
if (x != i)
{ //如果x!=i,说明x的值已经改变,找到了比a[i]还小的数的下标
z = a[i]; //进行a[i]和a[x]的交换
a[i] = a[x];
a[x] = z;
}
}
for (j = 0; j < 10; j++)
{
cout << a[j] << " ";
}
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
#include <stdio.h>
int main() {
int a[10], i, j, n;
printf("输入10个数:");
for (i = 1; i <= 10; i++)
scanf("%d", &a[i]);
for (i = 1; i <= 10; i++)
for (j = i; j <= 10; j++) //从第一个开始进行比较
{
if (a[i] > a[j]) //选择最小的数
{
n = a[i];
a[i] = a[j];
a[j] = n;
}
}
printf("该十个数升序为: ");
for (i = 1; i <= 10; i++)
printf("%3d ", a[i]);
}
有帮助请点一下右上角的采纳,谢谢