C语言有一数组内存放10个整数,要求找出最大数和它的下标, 然后把它和数组中第0个元素对换位置。
时间: 2024-03-05 17:48:44 浏览: 87
好的,这个问题可以用以下代码实现:
```c
#include <stdio.h>
int main() {
int nums[10] = {5, 7, 2, 9, 1, 4, 6, 8, 3, 0}; // 初始化数组
int max = nums[0]; // 假设最大值为数组第一个元素
int max_index = 0; // 最大值下标为0
// 遍历数组,寻找最大值和它的下标
for (int i = 1; i < 10; i++) {
if (nums[i] > max) {
max = nums[i];
max_index = i;
}
}
printf("最大值为:%d,下标为:%d\n", max, max_index);
// 将最大值和第0个元素对换位置
int temp = nums[0];
nums[0] = max;
nums[max_index] = temp;
// 输出交换后的数组
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
这段代码中,我们首先定义了一个长度为10的整型数组 `nums`,并初始化了它的元素。然后,我们假设数组的第一个元素为最大值,并遍历整个数组,寻找最大值和它的下标。找到最大值后,我们将它和数组的第0个元素对换位置,最后输出交换后的数组。
阅读全文