早教吧作业答案频道 -->其他-->
搞定给100分!要求十分钟内!将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是这个正整数的数根.如果结果是多位数,则继续重复以上过程,直到得到一位数为止.例如,正
题目详情
搞定给100分!要求十分钟内!
将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是这个正整数的数根.如果结果是多位数,则继续重复以上过程,直到得到一位数为止.
例如,正整数24,2+4=6,由于6是一位数,因此6是24 的数根.
再例如,正整数39,3+9=12,由于12不是一位数,1+2=3,因此3是39 的数根.
编写一个函数,求任意一个正整数的数根,在main()中,从键盘输入一个正整数,调用函数求出这个整数的数根.
将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是这个正整数的数根.如果结果是多位数,则继续重复以上过程,直到得到一位数为止.
例如,正整数24,2+4=6,由于6是一位数,因此6是24 的数根.
再例如,正整数39,3+9=12,由于12不是一位数,1+2=3,因此3是39 的数根.
编写一个函数,求任意一个正整数的数根,在main()中,从键盘输入一个正整数,调用函数求出这个整数的数根.
▼优质解答
答案和解析
#include
using namespace std;
int shugen(int n) {
int m = 0;
while (n) {
m += n % 10;
n /= 10;
}
if (m < 10)
return m;
else
return shugen(m);
}
int main() {
int n;
cout > n;
if (n > 0)
cout
using namespace std;
int shugen(int n) {
int m = 0;
while (n) {
m += n % 10;
n /= 10;
}
if (m < 10)
return m;
else
return shugen(m);
}
int main() {
int n;
cout > n;
if (n > 0)
cout
看了 搞定给100分!要求十分钟内...的网友还看了以下:
初中数学有理数乘方运算习题就要底数是五以内,指数是十以内的乘方,不能有别的运算, 2020-04-09 …
小强在计算(900-口)÷4时,没注意括号,先算除法,得到的结果是750,这道题正确答案是(),口 2020-06-13 …
在等式-5乘+4乘=27的两个方格内分别填入一个数使这两个数互为相反数且等式成立,则第一个方格内的 2020-06-15 …
有关大约数的问题?到底大约是怎么分呢?1到50以内的数是大约,50到99之间是大约100这么分吗? 2020-06-19 …
在等式5×■-3×□=16两个方格内分别填入一个数,使这两个数互为相反数,且等式成立,则第一个方框 2020-07-09 …
英语翻译"Iwillbethereinfivemins'的意思是我五分钟后到,还是五分钟内到?如是 2020-07-09 …
为什么复合函数同增异减的法则只适用于内函数是基本初等函数的情况,而当内函数的一般函数的时候如何? 2020-08-01 …
300到400以内的数是质数还是合数? 2020-11-06 …
将0、1、2、3、4、5、6这七个数字填在圆圈的方格内,每个数字恰好出现一次,组成只有一位数和两位数 2020-11-06 …
将0、1、2、3、4、5、6这七个数字填在圆圈的方格内,每个数字恰好出现一次,组成只有一位数和两位数 2020-11-21 …