输入一个整数,求它的位数以及各位数字之和,例如,123的位数是3,各位数字之和是6。
3 回答
Yexiaomo
TA贡献152条经验 获得超157个赞
#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_滔
TA贡献242条经验 获得超128个赞
说一下思路....将输入的数字当成一个字符串处理...那么位数就可以轻易获取了(字串长度即可)...然后利用一个循环..将字串的一个一个字符拿下来继续相加即可获取个个数字之和...
- 3 回答
- 0 关注
- 1676 浏览
添加回答
举报
0/150
提交
取消