C语言从键盘输入n个数存放在一个数组中,将最小值和第一个数交换,输出交换后的n个数
时间: 2023-12-12 13:06:05 浏览: 93
好的,我可以为您提供代码实现:
```c
#include <stdio.h>
int main() {
int n, i, minIndex, temp;
printf("请输入数组的长度: ");
scanf("%d", &n);
int nums[n];
printf("请输入%d个数: ", n);
for(i = 0; i < n; i++){
scanf("%d", &nums[i]);
}
minIndex = 0;
for(i = 1; i < n; i++){
if(nums[minIndex] > nums[i]){
minIndex = i;
}
}
// 将最小值和第一个数交换
temp = nums[0];
nums[0] = nums[minIndex];
nums[minIndex] = temp;
printf("交换后的%d个数: ", n);
for(i = 0; i < n; i++){
printf("%d ", nums[i]);
}
return 0;
}
```
以上代码中,首先通过 `scanf` 函数从键盘输入数组的长度 `n` 和 `n` 个数,存放到数组 `nums` 中。接着遍历数组,找到最小值的下标 `minIndex`,然后将最小值 `nums[minIndex]` 和第一个数 `nums[0]` 进行交换。最后输出交换后的 `n` 个数即可。
阅读全文