c语言:输入10个元素保存于整型一维数组a[10]中(系统保证最大值和最小值都只有唯一一个),将数组中最大值与最小值的位置互换后输出,用指针实现。
时间: 2023-06-03 16:03:33 浏览: 374
好的,这个问题非常适合我回答。以下是用指针实现的 c 语言代码:
```c
#include <stdio.h>
int main() {
int a[10];
int max = 0, min = 0;
printf("请输入10个整数:\n");
// 读入10个整数
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
// 寻找最大值和最小值
for (int i = 0; i < 10; i++) {
if (a[i] > a[max]) {
max = i;
}
if (a[i] < a[min]) {
min = i;
}
}
// 交换最大值和最小值
int temp = a[max];
a[max] = a[min];
a[min] = temp;
// 输出数组
printf("交换后的数组:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们定义了一个一维数组 `a`,然后通过 for 循环读入 10 个整数。接着,我们再通过 for 循环寻找数组中的最大值和最小值。一旦找到了它们,我们就用一个中间变量 `temp` 来交换它们的位置。最后,我们再用另一个 for 循环输出交换后的数组。
希望这个程序能够帮到你。如果还有什么问题,请随时提出来。
阅读全文