头文件
#include <stdlib.h> #include <stdio.h> #include <string.h> #pragma once
代码文件
#include "myH.h" //深度理解递归与迭代方法 //递归与迭代方法的区别: //递归使用函数和条件语句(if和else语句) //迭代法使用循环语句(for和while语句) /************************************************************************ 程序目标:一.求和 二.求阶乘 三.分别利用递归和迭代法实现 ************************************************************************/ //求和 int fooSum(int n) { if (n < 0) { return -1; } if (n == 1) { return n; } else return n +fooSum(n-1); } int fooSum02(int n) { int i = 0; int sum = 0; if (n < 0) { return -1; } for (i=1;i<=n;i++) { sum += i; } return sum; } int main01() { int ret = 0; int n = 0; int sum = 0; printf("测试阶乘:"); scanf("%d",&n); sum = fooSum(n); sum = fooSum02(n); if (sum == -1) { printf("error:%d",sum); return ret = sum; } printf("输出的结果是:%d",sum); system("pause"); return ret; } //求阶乘 int fooMul(int n) { if (n < 1) { return -1; } if (n == 1) { return n; } else { return n*fooMul(n-1); } } int fooMul02(int n) { int i = 0; int sum = 1; if (n < 1) { return -1; } for (i = 1;i <= n;i++) { sum *=i; } return sum ; } int main() { int ret = 0; int sum = 0; int n = 0; printf("测试用例:"); scanf("%d",&n); sum = fooMul(n); sum = fooMul02(n); if (sum == -1) { printf("error:%d",sum); return ret = sum; } printf("结果是:%d",sum); system("pause"); return ret; }
时间: 2024-10-20 15:01:16