【c语言】递归实现,输入一个非负整数,返回组成它的数字之和_用c语言调用递归函数输入一个非负整数,返回组成他的数字之和-程序员宅基地

技术标签: 递归  C语言  c语言  

问题描述:

写一个递归函数,输入一个非负整数,找出组成它的数字之和。例如:输入1729,,则返回值该是1+2+7+9,输出数字则为19


解析:

拿到一个数字,要找出组成它的各个数字。
首先利用i=x%10求出它的余数,即最初的组成数字,x=x/10可算出下一个x值,例如若原来的数字为123,则此时x=12.以此类推:



代码如下:
#include<stdio.h>


int DigitSum(int x)
{
	int sum,i;//i表示余数
	if(x==0)
		sum=0;

	else
	{
		i=x%10;
		x=x/10;
		sum=i+DigitSum(x);
	}
		
	return sum;

}


int main()
{
   
     int s = 0; 
	 s = DigitSum(456);
	 printf("%d\n",s);
	  
	return 0;
}
结果如下:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/azrael___/article/details/45621735

智能推荐

XCZU15EG板卡学习资料第522篇:基于MPSOC XCZU15EG-2FFVB1156I的16路万兆千兆智能网关卡_xczu15eg-ffvb1156-2-i手册-程序员宅基地

文章浏览阅读2k次。基于MPSOC XCZU15EG-2FFVB1156I的16路万兆千兆智能网关卡 图2:ZU15EG板卡原理框图 二、技术指标 PS端挂载一簇DDR4,数据位宽64-bit,容量32Gb,高可稳定运行在2400MT/s; PS端挂载两片QSPIx4NorFlash,每片容量512Mb,用于系统配置程序存储; PS..._xczu15eg-ffvb1156-2-i手册

初来乍到 自我介绍_用sublime做自我介绍-程序员宅基地

文章浏览阅读1.5k次,点赞10次,收藏2次。萱仔今天也要加油鸭自我介绍一、菜鸡上路今天刚开通博客,做一下自我介绍吧。我是萱仔 96年的2019年大学毕业,毕业后成功的进入了码农大军。也就是所谓的程序员,我感觉大家都叫程序员,所做的工作,以及工资都是天地之差,下面和大家简单的分享一下我的工作毕业后 我的第一份工作 大数据分析师,业务背景是运营商,技术点用到 mysql-sqoop-hive-mysql 这样的一个流程工作强度不算大 在一个三线城市,每天以完成工作为主,人也比较安逸。没有什么学习的心 在2020年8月底 做了一个决定,进_用sublime做自我介绍

docker容器的标准使用过程_Docker容器基础介绍-程序员宅基地

文章浏览阅读3.1k次。Docker是PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。Docker是通过内核虚拟化技术(namespace以及cgroups等)来提供容器的资源隔离与安全保障。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机( VM)额外的操作系统开销,..._请用自己的语言,描述容器的标准使用过程。

Dubbo 序列化-程序员宅基地

文章浏览阅读4.8k次,点赞3次,收藏4次。前言大家好,今天开始给大家分享 — Dubbo 专题之 Dubbo 序列化。在前一个章节中我们介绍了 Dubbo 路由规则之标签路由,其实现原理为:如果消费端传递标签则和配置的动态规则和静态规则进行匹配,如果消费端未传递标签则使用服务提供端的本地配置的静态标签和动态配置标签进行匹配。同时我们也例举了常见的使用场景并且进行了源码解析来分析其实现原理。有的小伙伴可以想知道 Dubbo 中远程调用数据传输是通过哪些方式进行数据的序列化呢?那么这个章节我们一起来讨论在我们的 Dubbo 中有哪些序列化方式以及性能_dubbo 序列化

C++错误 --不允许使用抽象类类型-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏4次。这个问题是因为你把抽象类实例化了,抽象类是类中包含一个或多个纯虚函数,这是被C++禁止的。那怎么办呢??---建议不要实例化抽象类,而是定义定该类指针,该指针可以指向子类,形成多态。..._不允许使用抽象类类型

[总结]虚拟主机独立IP与共享IP技术2_共享ip和独立ip设置a记录-程序员宅基地

文章浏览阅读1.3k次。[总结]虚拟主机独立IP与共享IP技术1_共享ip和独立ip设置a记录

随便推点

CSAPP shelllab实验_csapp:shelllab实验-程序员宅基地

文章浏览阅读2.5k次,点赞8次,收藏45次。一、准备工作Hints• 这是基于CSAPP教材第八章的配套实验。• 使用跟踪文件来指导 shell 的开发。从 trace01.txt 开始,确保 shell 产生与reference shell 相同的输出。然后继续跟踪文件 trace02.txt,以此类推。• waitpid、kill、fork、execve、setpgid 和 sigprocmaskfunctions将会被用到。waitpid 的WUNTRACED 和 WNOHANG 选项也会被用到。• 当我们实现信号处理程序时,请确保向_csapp:shelllab实验

2022年CSP-J1 CSP-S1 第1轮初赛 报名指南_河北csp-j和csp-s报名-程序员宅基地

文章浏览阅读3.5k次。2022年CSP-J1 CSP-S1 第1轮初赛 报名指南_河北csp-j和csp-s报名

SQLite快速入门教程第三集_小布老师作品_小布老师 sqlite-程序员宅基地

文章浏览阅读732次。视频下载地址:http://jiyanet.com/read.php?tid=446_小布老师 sqlite

深入挖掘IOC、AOP以及Spring中的实现-程序员宅基地

文章浏览阅读54次。 Spring的功能是很强大的,在其“绝不发明自己认为好的轮子,而只发明自己认为不好的轮子”的指导思想下,通过充分实践了“一切实事求是、‘循证架构’的工作方式”的理论,基本上把轻量级的J2EE应用框架(如ORM、MVC等)进行了整合,并构架了一些常用的功能(如DAO),形成了一个功能强大的J2EE轻量级企业应用框架。  然而,或许是大家对Spring掌握得还不透彻的缘故吧,看到很多软件企业中用到的...

Java并发之Semaphore详解_java semaphore 使用详解-程序员宅基地

文章浏览阅读2.9w次,点赞4次,收藏25次。一、入题 Semaphore是一种基于计数的信号量。它可以设定一个阈值,基于此,多个线程竞争获取许可信号,做完自己的申请后归还,超过阈值后,线程申请许可信号将会被阻塞。Semaphore可以用来构建一些对象池,资源池之类的,比如数据库连接池,我们也可以创建计数为1的Semaphore,将其作为一种类似互斥锁的机制,这也叫二元信号量,表示两种互斥状态。它的用法如下: 二、_java semaphore 使用详解

Spring Boot 中文乱码解决-程序员宅基地

文章浏览阅读3.7k次。Spring Boot 中文乱码解决第一步,约定传参编码格式不管是使用httpclient,还是okhttp,都要设置传参的编码,为了统一,这里全部设置为utf-8第二步,修改application.properties文件增加如下配置:spring.http.encoding.force=truespring.http.encoding.charset=UTF-8spr..._spring boot 中文乱码

推荐文章

热门文章

相关标签