使用C语言编制一个程序,用指 针法的手段将你感兴趣的一组有意义的数据通过键盘输入并保存 到数组中,再用指针法将数组元素整理为和原来相反的顺序,最后输出这些数据。
时间: 2024-03-07 09:48:44 浏览: 53
第二题_C语言程序_for循环语句使用_数组从键盘输入_
好的,下面是使用C语言编写的程序,实现将用户输入的一组数据通过指针法逆序输出:
```
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int data[MAX_SIZE];
int n, i;
int *p1, *p2, temp;
printf("请输入数据的个数(不超过100):");
scanf("%d", &n);
printf("请输入%d个数据:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &data[i]);
}
p1 = &data[0];
p2 = &data[n - 1];
while (p1 < p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("逆序后的数据为:\n");
for (i = 0; i < n; i++) {
printf("%d ", data[i]);
}
printf("\n");
return 0;
}
```
程序首先定义了一个数组 `data`,并且定义了两个指针 `p1` 和 `p2`,分别指向数组的头和尾。然后程序通过 `scanf` 函数从键盘输入用户想要输入的数据的个数,并且通过 `for` 循环将用户输入的数据存储到数组中。
接下来,程序使用指针法将数组元素整理为和原来相反的顺序,具体地,程序循环遍历数组,每次将 `p1` 指向的元素与 `p2` 指向的元素交换,并且将 `p1` 指针向右移动一位,将 `p2` 指针向左移动一位,直到 `p1` 大于等于 `p2`。
最后,程序使用 `for` 循环遍历数组,并且使用 `printf` 函数将逆序后的数据输出到屏幕上。
注意,程序中使用了 `#define` 宏定义了一个常量 `MAX_SIZE`,它表示数组 `data` 的最大大小,可以根据需求进行修改。
阅读全文