递归:从标准输入依次读入给定若干个在int范围内的整数,请用C语言编程将它们按照读入顺序的倒序输出
时间: 2024-11-03 17:18:56 浏览: 28
递归是一种算法技巧,它通过函数自身调用来解决问题。对于你的需求,我们可以编写一个简单的C语言程序来实现整数数组的逆序输出。这里是一个基本的例子:
```c
#include <stdio.h>
// 递归函数,接收数组首元素、数组长度作为参数
void reverse(int arr[], int n) {
// 如果数组只剩下一个元素,直接返回
if (n == 1)
return;
// 交换当前元素和最后一个元素,然后递归处理剩下的元素
int temp = arr[0];
arr[0] = arr[n - 1];
arr[n - 1] = temp;
// 递归调用函数处理剩余部分
reverse(arr, n - 1);
}
int main() {
int num;
printf("请输入整数个数:");
scanf("%d", &num); // 读取整数个数
// 动态创建数组存储输入的整数
int* input = malloc(num * sizeof(int));
for (int i = 0; i < num; ++i) {
scanf("%d", input + i); // 逐个读入整数并存入数组
}
// 调用反序函数并传递数组和元素个数
reverse(input, num);
// 输出逆序后的数组
for (int i = 0; i < num; ++i) {
printf("%d ", input[i]);
}
printf("\n");
// 释放内存
free(input);
return 0;
}
```
当你运行这个程序时,首先输入整数的数量,然后按顺序输入每个整数。程序会先读入所有数字,再按照逆序的方式输出。
阅读全文