题目要求找到输入数字中最小的那个,并和第一个元素交换然后输出所有数据。遍历找到最小的那个元素和第一个元素进行交换就好。
#include <cstdio>
int data[100 + 5];
//#define yangyuan
int main()
{
#ifdef yangyuan
freopen("in", "r", stdin);
#endif // yangyuan
int n;
while (scanf("%d", &n) != EOF)
{
if (0 == n)
break;
scanf("%d", data);
int min = data[0], minIndex = 0;
for (int i = 1; i < n; i++)
{
scanf("%d", data + i);
if (min > data[i])
{
min = data[i];
minIndex = i;
}
}
if (0 != minIndex)
{
int temp = data[0];
data[0] = data[minIndex];
data[minIndex] = temp;
}
for (int i = 0; i < n; i++)
{
printf("%d", data[i]);
if (n - 1 != i)
printf(" ");
}
printf("\n");
}
return 0;
}