C语言题目:用指针方法实现交换数组a和数组b中的对应元素 #include <stdio.h> #define N 20 int main() { int a[N] ={ 0 }, b[N] ={ 0 },temp; int anum,bnum; int *pi, *pj; /********** Begin *********/ /********** End **********/ }测试输入: 10 91 1 42 32 9 57 6 33 2 88 3 52 37 19 预期输出: 52 37 19 91 1 42 32 9 57 6 33 2 88
时间: 2023-06-29 12:07:10 浏览: 194
```c
#include <stdio.h>
#define N 20
int main() {
int a[N] = { 0 }, b[N] = { 0 }, temp;
int anum, bnum;
int *pi, *pj;
// 输入数组a和b
scanf("%d", &anum);
for(int i = 0; i < anum; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &bnum);
for(int i = 0; i < bnum; i++) {
scanf("%d", &b[i]);
}
// 判断数组长度是否相等
if(anum != bnum) {
printf("Error: The length of arrays is not equal.\n");
return 0;
}
// 交换对应元素
for(pi = a, pj = b; pi < a + anum && pj < b + bnum; pi++, pj++) {
temp = *pi;
*pi = *pj;
*pj = temp;
}
// 输出交换后的数组
for(int i = 0; i < anum; i++) {
printf("%d ", a[i]);
}
for(int i = 0; i < bnum; i++) {
printf("%d ", b[i]);
}
printf("\n");
return 0;
}
```
解释:
1. 定义两个数组 `a` 和 `b`,以及一个临时变量 `temp`。
2. 定义两个整型变量 `anum` 和 `bnum`,分别表示数组 `a` 和 `b` 的长度。
3. 定义两个指向整型变量的指针 `pi` 和 `pj`,分别指向数组 `a` 和 `b` 的第一个元素。
4. 输入数组 `a` 和 `b`。
5. 判断数组长度是否相等,若不相等则输出错误信息并退出程序。
6. 使用指针方法交换对应元素。
7. 输出交换后的数组。
阅读全文