问题 Y: C语言实习题五——3.数据倒置
时间限制: 1 Sec 内存限制: 128 MB
题目描述
用指针实现:将具有10个元素的一维数组中的数据倒置。
输入
10个元素。
输出
倒置数据。
样例输入
0 1 2 3 4 5 6 7 8 9
样例输出
9 8 7 6 5 4 3 2 1 0
提示
数据倒置是指将数组前后元素的值交换后再输出。
代码实现
#include <stdio.h>
int main() {
int a[10] = {0};
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
int* p1 = (int*)a;
int* p2 = ((int*)a) + 9;
while (p1 < p2) {
int tmp = *p1;
*p1 = *p2;
*p2 = tmp;
p1++;
p2--;
}
for (int i = 0; i < 10; i++) {
printf("%d", a[i]);
if (i != 9) {
printf(" ");
}
}
return 0;
}