C语言输入一个正整数n(1<n≤10),再输入n个整数,将最大值与第一个数交换,然后输出交换后的n个数。
时间: 2023-06-19 20:10:27 浏览: 88
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
以下是代码实现:
```c
#include <stdio.h>
int main() {
int n, max_index = 0;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
if (nums[i] > nums[max_index]) {
max_index = i;
}
}
int temp = nums[0];
nums[0] = nums[max_index];
nums[max_index] = temp;
for (int i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
首先读入正整数 `n`,然后定义一个长度为 `n` 的数组 `nums` 存储后面的 `n` 个整数。在输入过程中,记录最大值的下标 `max_index`,若当前输入的数比最大值还大,则更新 `max_index`。
接着将最大值与第一个数交换,这里我们使用一个中间变量 `temp` 来实现。最后输出交换后的 `n` 个数即可。
阅读全文