若变量已正确定义,写出执行以下程序段后变量的值。请注意,直接填数字,前后不要加空格等任何其他字符

若变量已正确定义,写出执行以下程序段后变量的值。请注意,直接填数字,前后不要加空格等任何其他字符。
s = 0;
scanf ("%d", &number);
t_number = number;
if(t_number < 0) {
t_number = -t_number;
}
do{
t_number = t_number / 10;
digit = t_number % 10;
s = s + digit;
}while(t_number != 0);
输入259,s的值为什么是7

第1个回答  2019-05-12

题主应该使用while循环而不是do..while循环。在题目中的代码里面,个位数总是被舍弃了的。

可以改为:

while(t_number != 0){ 
    digit = t_number % 10; 
    s = s + digit;
    t_number = t_number / 10;
}

本回答被网友采纳