求余和除以的不同处境
问题
输入一个正整数(1-2100000000),求该正整数的各位数字之和,如果各数字之和仍为两位数及以上,继续求其各位数字之和,直到数字之和为1位整数为止
发现
在写这道题的时候,对求余和整除有了更深的理解,包括在计算里两者之间的运用都得小心,否则很容易出现错误
int sum(int n)
{
int a,num=0,s;
do{
a=n%10;
n=n/10;
num+=a;
s=num;
}while(a!=0);//第一次求出各位数字之和
if(s/10==0)//判断和是否为一位数,用/而不用%,因为7/10=0,7%10=7
return num;
else
{
do
{
num=sum(num);
}while(num/10!=0);
}
return num;}
总结
求余(%)是指点一个数除以另一个数,不够除的部分就是余数,就是求余的结果.
整除(/)就是一个数除以另一个数,刚刚好的倍数,这里没有四舍五入,不够一倍的都将舍去.