早教吧作业答案频道 -->其他-->
搞定给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分!要求十分钟内...的网友还看了以下:
一个一位小数,把它的小数部分扩大到原来的2倍,这个数是8.8,把它的小数部分扩大到原来的5倍,这个 2020-05-16 …
智力题!要说出答案和为什么是这个答案!1:一个数字,去掉前边的数后,是13.去掉最后一个数后,是4 2020-05-22 …
列方程并求出方程的解.(1)一个数的5倍加上这个数的3倍等于4.8,求这个数.(2)比一个数的6倍 2020-05-23 …
设有一串数列:1,2,2,3,3,3,4,4,4,4.这串数列重的第1000个数是多少,求前100 2020-06-03 …
从0、1、2、5、8中选择三个数字,组成一个既是5的倍数又是偶数的最大三位数,这个数是;如果要组成 2020-06-11 …
如果某个整数同时具有下列性质:这个数与1的差是质数;这个数除以2所得的商也是质数;这个数除以9的余 2020-07-08 …
设1,4,8,26,80,240,是六个给定的数,从这个数中每次或者取一个,或者取几个不同的数求和 2020-07-09 …
如果一个多位数的数字从左到右是依次增大的,就称这个数是上升数,如1357、256等.上升数共有多少 2020-07-11 …
一个一位小数,把它的小数部分扩大到原来的2倍,这个数是8.8,把它的小数部分扩大到原来的5倍,这个 2020-07-13 …
个位,十位上的数字相加正好是10,是7与一位数相乘的积。这个数是()。个位,十位上的数字相加正好是 2020-07-21 …