从键盘输入 n 个数存放在数组中, 将最小值与第一个数交换, 输出交换后的 n 个数用c语言用预定义数组
时间: 2024-10-14 20:05:35 浏览: 59
在 C 语言中,你可以使用标准库函数 `scanf` 读取用户输入的 n 个整数并存储到数组中,然后通过遍历数组找到最小值并与第一个元素交换。以下是一个简单的示例程序:
```c
#include <stdio.h>
#define MAX_NUMS 100 // 定义数组的最大大小
int main() {
int nums[MAX_NUMS], n, i, min;
printf("请输入数字的数量(n): ");
scanf("%d", &n);
if (n > MAX_NUMS) {
printf("输入的数字超过数组最大容量,程序将忽略多余输入\n");
n = MAX_NUMS;
}
// 读入n个整数
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
// 找出最小值,并与第一个元素交换
min = nums[0];
if (min != nums[1]) { // 避免一开始就交换相同的数值
for (i = 1; i < n; i++) {
if (nums[i] < min) {
min = nums[i];
}
}
// 交换第一个元素和最小元素
nums[0] = min;
nums[i] = min; // 把最小值放回原来的位置,因为之前已经移动了一次
}
// 输出交换后的数组
printf("交换后的数组: ");
for (i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
阅读全文