C语言编写:编程读入若干整数(不超过50个)到数组中,然后倒序输出,遍历数组时用指针实现。 输入样例: 1 5 25 18 -299 输出样例: -299 18 25 5 1
时间: 2024-12-29 19:34:47 浏览: 15
在C语言中,你可以通过指针来实现这个功能。首先,我们需要创建一个足够大的数组来存储输入的整数,然后使用`fgets()`函数从标准输入读取字符串,再转换成整数并存入数组。接着,我们定义两个指针,一个指向数组的开始,另一个指向结束。最后,通过循环,交换这两个指针所指向的元素,并将它们都向中间移动,直到相遇。
以下是完整的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUMS 50
int main() {
int nums[MAX_NUMS];
char input[20];
size_t i = 0;
// 读入整数到数组
while (i < MAX_NUMS && fgets(input, sizeof(input), stdin)) {
int num;
sscanf(input, "%d", &num);
nums[i] = num;
i++;
}
// 如果未读满数组,说明有空格或达到最大值
if (i < MAX_NUMS) {
printf("Input too large or has extra spaces.\n");
return 1;
}
// 初始化指针
int* start = nums;
int* end = nums + i - 1;
// 输出倒序数组
while (start < end) {
printf("%d ", *end);
// 交换元素
int temp = *start;
*start = *end;
*end = temp;
// 指针后移
start++;
end--;
}
printf("\n");
return 0;
}
```
阅读全文