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); }