为了账号安全,请及时绑定邮箱和手机立即绑定

作业不会做,求大神来教

作业不会做,求大神来教

C
珄笙姑娘 2016-10-23 15:23:46
输入一个整数,求它的位数以及各位数字之和,例如,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;
}

方法不止一种, 仅供参考, 

实在看不懂了, 就动笔 推算一下....

查看完整回答
1 反对 回复 2016-10-23
?
Tobey_滔

TA贡献242条经验 获得超128个赞

说一下思路....将输入的数字当成一个字符串处理...那么位数就可以轻易获取了(字串长度即可)...然后利用一个循环..将字串的一个一个字符拿下来继续相加即可获取个个数字之和...

查看完整回答
反对 回复 2016-10-23
  • 3 回答
  • 0 关注
  • 1676 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信