好的培训网站模板,湖北响应式网站设计制作,汽车网站建设页面,网络工程有哪些C语言求输入一个非负整数#xff0c;返回组成它的数字之和
方法一、递归法
思路#xff1a;设计一个初始条件#xff0c;通过递归获取非负整数的个位#xff0c;不断接近递归条件即可。
#define _CRT_SECURE_NO_WARNINGS
#include stdio.hint DigitSum(int n)
{…C语言求输入一个非负整数返回组成它的数字之和
方法一、递归法
思路设计一个初始条件通过递归获取非负整数的个位不断接近递归条件即可。
#define _CRT_SECURE_NO_WARNINGS
#include stdio.hint DigitSum(int n)
{int tmp 0;if (n 9){tmp n % 10;//获取每次的个位return tmp DigitSum(n / 10);//和是每次个位相加}else if(n 0 )//是初始条件也是结束条件使用n 0 是因为递归中使用的是n / 10{return 0;}
}int main()
{int n 0;scanf(%d,n);int ret DigitSum(n);printf(%d,ret);return 0;
}非递归法
思路通过循环设计好结束条件不断获得个位并使用一个临时值接收。最后返回临时值即可。
#define _CRT_SECURE_NO_WARNINGS
#include stdio.hint DigitSum(int n)
{int tmp 0;while (n)//1927 172 17 {//获取个位 后面获取个位直接即可tmp n % 10;n / 10;}return tmp;
}int main()
{int n 0;scanf(%d,n);int ret DigitSum(n);printf(%d,ret);return 0;
}