我们要求一个任意正整数所有位上的数的总和,给出一下两种方法
方法一:函数递归法
关键在于函数部分,我们取出一个数的每一位数比较困难,但是取出最后一位数非常简单,思路便来了:取出最后一位数再加上剩下的数的所有位上的数的和就是答案。
文章图片
方法二:取余取商法
我们一层一层地将数a的每一位脱下来,方法是不断先将a对10取模再对10取商,这里就需要用到循环,那么循环条件呢?我们知道取到a为个位数循环就可以结束了个位数再取商就为0了,所以循环条件为a>0就行了
文章图片
【C语言|C语言两种方法计算一个数所有位上的数的总和】 问题便解决了。
推荐阅读
- C语言|C语言实现简单计算器
- 蓝桥杯|蓝桥杯第十届C语言b组——B: 年号字串
- 学习经验分享|蓝桥杯2020第十一届C语言B组省赛习题题解
- 蓝桥杯|蓝桥杯.颠倒的价牌(暴力枚举)
- 蓝桥杯|萌新打卡 蓝桥杯 算法基础 暴力枚举——立方和等式 暴力大法好
- 每日刷题———蓝桥杯真题|蓝桥杯2018第九届C语言B组省赛总决赛习题题解——习题A.换零钞(暴力枚举法)
- 蓝桥杯算法训练|蓝桥杯算法训练 数字游戏 C语言实现
- 蓝桥杯|蓝桥杯——算法训练——进击的青蛙
- 笔记|第十二届蓝桥杯——Java软件开发(省赛)(括号序列(笔记15))