用C语言编程求一个整数各个数的和的问题main(){ int n,sum=0; printf("请输入任意一个整数:"); scanf("%d",&n); while(n!=0) { sum+=n%10; n=n/10; } printf("其各个位数之和为%d\n",sum);关键的地方不是很明白,就是

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 17:17:16
用C语言编程求一个整数各个数的和的问题main(){intn,sum=0;printf("请输入任意一个整数:");scanf("%d",&n);while(n!=0){sum+=n%10;n=n/1

用C语言编程求一个整数各个数的和的问题main(){ int n,sum=0; printf("请输入任意一个整数:"); scanf("%d",&n); while(n!=0) { sum+=n%10; n=n/10; } printf("其各个位数之和为%d\n",sum);关键的地方不是很明白,就是
用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.不明白是怎么把各个数求和的,望指点

用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的余数,也就是个位
n=n/10;这句的意思就是去除最后一位,这句语句的意思是将n的值除以10赋值给n,原来的话应该n的值就是14.5了,但是因为n的变量类型是整形,所以结果会自动进行数据类型转换,所以n的值就是14.5舍弃小数点以后的那个14