计算整数的根
各位高手,我有一个问题,两天了都没有解决,恳请大家帮忙~~题目:
给出一个整形的数(包括溢出的情况),计算整数的根
例如,给出整数24,则输出6
由于2+4=6
同理,输入39
输出3
由于3+9=12
1+2=3
所以输出3
当输入0时,循环结束。
我做了一个简单的,但是遇到很大的整形数时就会溢出,输出异常数
我的程序:
#include<stdio.h>
int main()
{
int a;
int fun(int);
while(scanf("%d",&a)==1 && a!=0)
{
do
{
if(a>=10)
a=fun(a);
}while(a>=10);
printf("%d\n",a);
}
return 0;
}
int fun(int a)
{
int b=0;
while(a>=10)
{
b+=a%10;
a=a/10;
}
return (b+a);
}