首页 > 代码库 > 递归与迭代
递归与迭代
头文件
#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; }
本文出自 “CPCPP的博客” 博客,请务必保留此出处http://tytsa.blog.51cto.com/9564213/1571894
递归与迭代
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。