用C语言编程求一个整数各个数的和的问题

问题描述:

用C语言编程求一个整数各个数的和的问题
main()
{
int n,sum=0;
printf("请输入任意一个整数:");
scanf("%d",&n);
while(n!=0)
{
sum+=n%10;
n=n/10;
}
printf("其各个位数之和为%d\n",sum);
关键的地方不是很明白,就是这个:
sum+=n%10;
n=n/10;
假如说输入的数是145, 那么经过n=n/10之后就是14.5,然后sum=0+145%10,应该是45.不明白是怎么把各个数求和的,望指点
1个回答 分类:综合 2014-11-30

问题解答:

我来补答
sum+=n%10;这句的意思就是取当前n的最后一位,这句语句的意思是n除以10的余数,也就是个位
n=n/10;这句的意思就是去除最后一位,这句语句的意思是将n的值除以10赋值给n,原来的话应该n的值就是14.5了,但是因为n的变量类型是整形,所以结果会自动进行数据类型转换,所以n的值就是14.5舍弃小数点以后的那个14
 
 
展开全文阅读
剩余:2000
上一页:hfftbjhg