【问题描述】输入两个各包含5个元素的数组,输入交换位置的开始位置m和结束位置n,输出交换后的两个数组。
【输入形式】输入两个数组和交换数据的开始位置和结束位置
【输出形式】输出交换后的两个数组
【样例输入】3 4 2 1 6 97 12 23 43 1 3 4
【样例输出】3 4 23 43 6 97 12 2 1 1
【样例说明】数据之间用单个空格隔开
【评分标准】要用指针完成对数组的访问,否则记为0分。
定义两个数组,然后再定义两个指针,然后对应序号数值交换就行了
#include <stdio.h>
int main()
{
int a[5],b[5],*p=a,*q=b,m,n,i,t;
for(i=0;i<5;i++)
scanf("%d",p+i);
for(i=0;i<5;i++)
scanf("%d",q+i);
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
t = *(p+i-1);
*(p+i-1) = *(q+i-1);
*(q+i-1) = t;
}
for(i=0;i<5;i++)
printf("%d ",*(p+i));
for(i=0;i<5;i++)
printf("%d ",*(q+i));
return 0;
}