求详细解释这段源代码。c语言

while(a!=0)
{if(a%10==0)
b++;
a=a/10;
}

用while循环求a这个整数的末尾0的位数,用a取余10是否为0判断尾数,如果为0计数b加一,然后用a整除10去掉最后一个0,循环判断,比如123000这个整数,第一次循环b=1,a=a/10,a=12300,第二次循环b=2,a=a/10,a=1230,第三次循环b=3,a=a/10,a=123,第四次循环if(a%10==0)不成立,跳出循环,此时a=123,b=3,可以知道尾数有3个0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-24
while(a!=0)———当a不等于0
if(a%10==0)——如果a是10的倍数
b++;
a=a/10;——a除以10,取整数部分

程序的大意是,检查a的末尾包含几个0。
例如输入a=1000,那么b就等于3
第2个回答  2013-09-24
while(a!=0)
{
if(a%10==0) //a为10的倍数,则b加1
b++;
a=a/10;
}
//这段代码,是求a是10的几次幂,比如100,则为10的平方,123则不是10的n次幂
第3个回答  2013-09-24
统计a中0的个数
比如:
100 则含有 2个0
11245400000 则含有 5个0
1540015 则含有 2个0追问

需要详细解释每一步的步骤。就跟自然需要一样

第4个回答  2013-09-24
while(a!=0)———当a不等于0

if(a%10==0)——如果a除以10的余数为0

b++;——b数值+1

a=a/10;——a为a原数值的10分之一
第5个回答  2013-09-24
跟b的初始值有关,b的初始值是1的话,这段代码,最终输出b所保留的是a的位数
相似回答