题目描述
用指针实现:将具有10个元素的一维数组中的数据倒置。
输入
10个元素。
输出
倒置数据。
样例输入 复制
0 1 2 3 4 5 6 7 8 9
样例输出 复制
9 8 7 6 5 4 3 2 1 0
提示
数据倒置是指将数组前后元素的值交换后再输出。
解析:这道题可以先声明一个数组,然后让两个指针分别指向数组的第一个元素和最后一个元素,利用for循环将两个指针换位,然后p++,q--以此类推,前提条件是p<q;
代码实现(如有不对欢迎指正)
#include <stdio.h>
int main()
{
int a[10];
int i;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
int *p,*q;
for(p=a,q=a+9;p<q;p++,q--){
int t=*q;
*q=*p;
*p=t;
}
for(i=0;i<10;i++){
printf("%d",a[i]);
if(i==9){
break;
}
printf(" ");
}
return 0;
}