用C语言指针输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换
时间: 2023-07-16 16:13:14 浏览: 136
下面是实现代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int nums[10];
int i, min_index = 0, max_index = 0;
// 输入10个整数
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 找到最小值和最大值的下标
for (i = 1; i < 10; i++) {
if (nums[i] < nums[min_index]) {
min_index = i;
}
if (nums[i] > nums[max_index]) {
max_index = i;
}
}
// 将最小值与第一个数对换
swap(&nums[0], &nums[min_index]);
// 如果最大值是第一个数,需要重新找到最大值的下标
if (max_index == 0) {
max_index = min_index;
}
// 将最大值与最后一个数对换
swap(&nums[9], &nums[max_index]);
// 输出结果
printf("最小值已与第一个数对换,最大值已与最后一个数对换:\n");
for (i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
代码思路:
1. 定义一个包含10个整数的数组 `nums`。
2. 使用循环和 `scanf` 函数依次读入这10个整数。
3. 使用循环和两个变量 `min_index` 和 `max_index` 分别找到数组中最小值和最大值的下标。
4. 使用 `swap` 函数将最小值与第一个数对换。
5. 如果最大值是第一个数,需要重新找到最大值的下标。因为前面的操作已经将最大值移到了数组的第一个位置。
6. 使用 `swap` 函数将最大值与最后一个数对换。
7. 输出结果。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)