作业不会做,求大神来教
输入一个整数,求它的位数以及各位数字之和,例如,123的位数是3,各位数字之和是6。
3回答
-
Yexiaomo
#include<stdio.h>
int main()
{
int n = 0;//n用来存放用户输入的 值
int s = 0;//s用来存放位数字和
int i = 0;//i用来存放位数
printf("Input an integer:");
scanf("%d", &n);
while (n != 0) {
s += (n % 10); //n对10求余,就可以求出 n的个位数字
n /= 10; // (n/10) 将会把个位数字丢弃
++i; // 一个循环 i 将会自增一次, 表示位数 会比上一次多 1
}
printf("位数是: %d, 各位数字之和为: %d\n", i, s);
return 0;
}方法不止一种, 仅供参考, 实在看不懂了, 就动笔 推算一下....
-
Tobey_滔
说一下思路....将输入的数字当成一个字符串处理...那么位数就可以轻易获取了(字串长度即可)...然后利用一个循环..将字串的一个一个字符拿下来继续相加即可获取个个数字之和...