用C语言递归实现无限变量连续赋值
时间: 2024-05-10 16:19:52 浏览: 12
可以使用指针来完成无限变量连续赋值,递归实现如下:
```
#include <stdio.h>
void assign(int *p, int value, int n) {
if (n <= 0) return;
*p = value;
assign(p+1, value+1, n-1);
}
int main() {
int arr[10];
assign(arr, 1, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码会将数组arr从arr[0]到arr[9]依次赋值为1到10。
相关问题
c语言递归实现逆序输出
C语言递归实现逆序输出可以通过以下步骤实现:
1. 定义一个递归函数,接受一个整数参数作为输入。
2. 在递归函数内部,首先判断输入的整数是否大于0,如果大于0,则执行以下步骤:
- 将输入的整数对10取余,得到最后一位数字。
- 将输入的整数除以10,得到去掉最后一位数字的剩余部分。
- 调用递归函数,将剩余部分作为参数传入。
3. 在递归函数的递归调用之后,将最后一位数字打印输出。
以下是C语言递归实现逆序输出的代码示例:
```c
#include <stdio.h>
void reversePrint(int num) {
if (num > 0) {
int lastDigit = num % 10;
int remainingNum = num / 10;
reversePrint(remainingNum);
printf("%d ", lastDigit);
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("逆序输出结果为:");
reversePrint(num);
printf("\n");
return 0;
}
```
运行以上代码,输入一个整数,程序将会逆序输出该整数的每一位数字。
用c语言递归实现斐波那契数列
#include <stdio.h>
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n;
printf("请输入要求的斐波那契数列的项数:");
scanf("%d", &n);
for (int i=0; i<n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}