C程序使用递归求自然数之和

在此示例中,您将学习使用递归函数查找自然数之和。

要理解此示例,您应该了解以下C语言编程主题:

正数1、2、3 ...称为自然数。下面的程序从用户处获取一个正整数,然后计算得出给定数字的总和。

使用递归的自然数之和#include

int addNumbers(int n);

int main() {

int num;

printf("输入一个正整数: ");

scanf("%d", &num);

printf("Sum = %d", addNumbers(num));

return 0;

}

int addNumbers(int n) {

if (n != 0)

return n + addNumbers(n - 1);

else

return n;

}

输出结果输入一个正整数: 20

Sum = 210

假设用户输入了20。

最初,从main()调用addNumbers(),并传入20作为参数。

数字20被添加到addNumbers(19)的结果中。

在下一个从addNumbers()到addNumbers()的函数调用中,将传递19,该值将添加到addNumbers(18)的结果中。 此过程一直持续到n等于0。

当n等于0时,没有递归调用。 这最终将整数和返回给main()函数。

c语言怎么编程已知数的总和,C程序使用递归求自然数之和相关推荐

  1. c语言程序中要用到阶乘,C程序使用递归求数字的阶乘

    C程序使用递归求数字的阶乘 在此示例中,您将学习查找用户使用递归输入的非负整数的阶乘. 要理解此示例,您应该了解以下C语言编程主题: 正数n的阶乘由下式给出: 示例factorial of n (n! ...

  2. 【编程练习】正整数分解为几个连续自然数之和

    题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列. 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 ...

  3. 分解连续自然数的和_【编程练习】正整数分解为几个连续自然数之和

    题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列. 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 ...

  4. 企业c语言的编程风格,c语言优秀编程风格.docx

    作为一个初学者如何具有良好的程序设计风格呢?我想引用一个关于初学者请教编程大师 的故事让读者自己去领悟. 有一位编程大师,他写非结构化的程序, 一位初学者刻意模仿他, 也写非结构化的程序.当 他让大师 ...

  5. 简述arm汇编和c语言混合编程,ARM汇编C语言混合编程

    3.4 ARM汇编&C语言混合编程 3.4.1 C内联ARM汇编 先看一个例子: # cat add.c 1 // add.c for s3c2410c board 2 // arm-linu ...

  6. C语言经典编程(浙大版C语言第三版)详解

    C语言经典编程详解 – 一览表: 1.[C语言经典编程]练习2-1 Programming in C is fun! (5分) 2.[C语言经典编程]练习2-3 输出倒三角图案 (5分) 3.[C语言 ...

  7. Linux系统下计算机C语言的编程技巧

    C语言在多程序编辑中发挥着基础性作用,并在国际范围得到了全面应用.科技的蓬勃发展,使得人们更加重视C语言技术,并对C语言提出更多的要求.但Linux系统是最主要的操作系统之一,基于此开展C语言编程工作 ...

  8. c语言编程顺序查找例题,C语言典型编程例题.doc

    C语言典型编程例题 典型编程例题 一.数列(阶乘)问题 1.s=1+22+32+--+202 2.求阶乘20!的值. 3.求1!+2!+--+20! 4.输出菲波那契数列前20个数(1,1,2,3,5 ...

  9. GO 语言核心编程-全文版

    第 1 章 1.1Golang的学习方向 Go语言,我们可以简单的写成Golang. Golang开山篇 1.2Golang的应用领域 1.2.1区块链的应用开发 1.2.2后台的服务应用 1.2.3 ...

最新文章

  1. 99%的数据工作者不曾知道的一款利器
  2. Validform 学习笔记---基础知识整理
  3. 科技馆游记(精华)-------- double篇
  4. Highcharts 环境配置介绍
  5. bash环境(变量与bash配置文件)
  6. 判断溢出(ybtoj-字符串)
  7. 17_python基础—面向对象-继承
  8. win7无法访问局域网内电脑_win7系统局域网无法访问原因 win7局域网无法访问解决方法【图文】...
  9. MacOS入门技巧分享
  10. CSS面试题汇总(四)
  11. outlook统一签名模版设置
  12. @scheduled 定时任务执行一段时间后莫名其妙停止 Ftp假死
  13. 【转】模糊测试(fuzzing)是什么
  14. WebGL简易教程(十一):纹理
  15. windows的注册表有什么用?
  16. BZOJ 3729: Gty的游戏
  17. 前端项目线上环境搭建(Nginx)和线上部署(推荐)
  18. 基于JAVA大连环保公益网计算机毕业设计源码+系统+lw文档+部署
  19. Quartz+spring列子
  20. WinDbg+WMware+OS_Win7 配置

热门文章

  1. PTA——7-4 打印杨辉三角
  2. spark十亿数据join优化
  3. 数据库事务的四种隔离级别
  4. 红帽Linux8:新一代rpm包管理器-dnf
  5. linux卸载aix nmon,aix nmon监控
  6. 我是你的用户 你为什么讨厌我?
  7. springboot dom4j 解析xml
  8. 新买的wd移动硬盘在xp下无法识别的处理方法
  9. CentOS 安装QT SDK qt-everywhere-src-5.15.0.tar.xz时报错
  10. jquery兄弟标签_JQuery的父、子、兄弟节点查找方法