求数字根的计算的问题答案

正整数的数字根是将数位上的数字求和进行计算而来。如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根;如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位... 正整数的数字根是将数位上的数字求和进行计算而来。如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根;如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位数。例如12,那么它的数字根就为1+2=3;例如39那么它的数字根就为3+9=12,1+2=3,最终为3。
Input
每行输入一个正整数,输入0表示结束。
Output
输出一个一位数。
Sample Input
24
39
0
Sample Output
展开
 我来答
兔子和小强
推荐于2016-12-02 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1390万
展开全部
//c/c++问题就设置成c/c++分类,这样回答可以贴代码
#include <stdio.h>
int func(int a)
{
if(a < 10) return a;
int t = 0;
while(a)
{
t += a%10;
a /= 10;
}
return func(t);
}
int main()
{
int a;
while(1)
{
scanf("%d", &a);
if(a == 0)break;
printf("%d\n", func(a));
}
return 0;
}
追问
不好意思,当时没注意,谢谢了 
我还想问下第5行“while(a)”还有16行“while(1)”
什么意思,麻烦了
追答
while(a)即while(a!=0)
除10取余知道吗,通过这个来分离各位数。

while(1)是死循环,就是不断循环。只有在a==0(即输入为0)时,才退出
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式