Joymine 2020-03-03
使用递归进行循环打印
/*
递归问题
*/
#include <stdio.h>
void print(void) {
printf("1\n");
print();
}
int main() {
print();
return 0;
}使用递归从0打印到当前这个数字
/*
将数字进行从小到大的打印
*/
#include <stdio.h>
void print(int max) {
if (max == 1){
printf("%d ", 1);
return ;
}
print(max - 1);
printf("%d ", max);
}
int main() {
int val = 0;
printf("请输入要打印的数字:");
scanf("%d", &val);
print(val);
printf("\n");
return 0;
}使用递归构建菲伯纳序列
/*
0 1 2 3 4 5 6 7 8
1 1 2 3 5 8 13 21 34 非伯纳系数
*/
#include <stdio.h>
int feibo(int max) {
if (max <= 1) {
return 1;
}
return feibo(max - 1) + feibo(max - 2);
}
int main() {
int result = feibo(8);
printf("%d\n", result);
}使用递归构建1-当前数之和
/*
将1到某一个所有的数进行加和
*/
#include <stdio.h>
int add(int max) {
if (max == 1){
return max;
}
return max + add(max - 1);
}
int main() {
int val = 0, result = 0;
printf("请输入要进行加和的数:");
scanf("%d", &val);
result = add(val);
printf("result的结果是%d\n", result);
}