运用C语言指针方法并且不调用函数输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换。
时间: 2023-12-04 13:14:03 浏览: 46
好的,我们可以使用指针来实现这个功能。以下是代码示例:
```c
#include <stdio.h>
int main() {
int arr[10];
int *p = arr;
int min = 0, max = 0;
// 输入 10 个整数
printf("请输入 10 个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p + i);
}
// 查找最小值和最大值的下标
for (int i = 1; i < 10; i++) {
if (*(p + i) < *(p + min)) {
min = i;
}
if (*(p + i) > *(p + max)) {
max = i;
}
}
// 将最小值与第一个数对换
int tmp = *p;
*p = *(p + min);
*(p + min) = tmp;
// 将最大值与最后一个数对换
tmp = *(p + 9);
*(p + 9) = *(p + max);
*(p + max) = tmp;
// 输出交换后的数组
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", *(p + i));
}
printf("\n");
return 0;
}
```
在这个版本的代码中,我们使用了指针来遍历数组,并且使用 `*p` 和 `*(p+i)` 的形式来访问数组元素。除此之外,代码逻辑和上一个版本是相同的,可以用同样的测试数据来验证代码的正确性。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)