c语言编程:(用指针编程)输入10个整数,将其中最小的一个数与第一个数对换,把最大的数与最后一个数对换。
时间: 2023-12-04 09:16:59 浏览: 127
利用指针将最小数与第一个数调换,最大数与最后一个数对换(C语言练习例程)
5星 · 资源好评率100%
好的,以下是用指针编写的C语言程序,实现输入10个整数,将最小的数与第一个数对换,将最大的数与最后一个数对换:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int nums[10];
int *min = &nums[0];
int *max = &nums[0];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
if (nums[i] < *min) {
min = &nums[i];
}
if (nums[i] > *max) {
max = &nums[i];
}
}
swap(&nums[0], min);
swap(max, &nums[9]);
printf("结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
解释一下程序的主要思路:
1. 定义一个包含10个整数的数组`nums`,以及两个指针`min`和`max`,初始时指向数组的第一个元素`nums[0]`。
2. 通过循环,依次读取用户输入的10个整数,并判断是否为最小值或最大值,如果是则将指针`min`或`max`指向该元素。
3. 通过`swap`函数,交换数组的第一个元素和最小值元素,以及最后一个元素和最大值元素。
4. 最后输出交换后的结果。
希望能够帮到你!
阅读全文