用递归函数打印从一到N的全部正整数C语言
时间: 2023-12-17 09:05:01 浏览: 40
可以使用如下的递归函数来打印从1到N的全部正整数:
```c
void printNumbers(int n) {
if (n == 1) {
printf("%d ", n);
return;
}
printNumbers(n - 1);
printf("%d ", n);
}
```
其中,如果n等于1,则直接打印1;否则,先递归打印1到n-1的正整数,再打印n。这样就可以依次打印出从1到N的全部正整数了。
相关问题
用递归函数打印从一到N的全部正整数C语言完整代码
可以使用下面的完整代码来打印从1到N的全部正整数:
```c
#include <stdio.h>
void printNumbers(int n);
int main() {
int n;
printf("请输入一个正整数N:");
scanf("%d", &n);
printf("从1到%d的全部正整数为:", n);
printNumbers(n);
return 0;
}
void printNumbers(int n) {
if (n == 1) {
printf("%d ", n);
return;
}
printNumbers(n - 1);
printf("%d ", n);
}
```
在这个程序中,首先读入了一个正整数N,然后调用printNumbers函数打印从1到N的全部正整数。最后输出结果。
用c语言编写递归函数求小于等于n的所以正整数之和
好的,以下是用C语言编写的递归函数,可以求小于等于n的所有正整数之和:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n-1);
}
}
int main() {
int n, result;
printf("请输入一个正整数n:");
scanf("%d", &n);
result = sum(n);
printf("1~%d的所有正整数之和为:%d\n", n, result);
return 0;
}
```
这个函数的思路是,当n等于1时,返回1;否则,返回n加上1到n-1的所有正整数之和,这个和可以通过递归调用sum()函数来得到。当n等于1时,递归结束,返回1。