求整数的位数以及各位数之和

来源:百度知道 编辑:UC知道 时间:2024/09/21 16:31:18
程序填空,不要改变与输入输出有关的语句。
输入一个整数,输出它的位数以及各位数之和。
例:括号内是说明
输入
123456
输出
number=6, sum=21 (123456 的位数是6, 各位数之和是21)
输入
-100
输出
number=3, sum=1 (-100 的位数是3, 各位数之和是1)

#include <stdio.h>
void main( )
{
int number, sum;
long in;
scanf("%ld", &in);
/*---------*/
printf("number=%d, sum=%d\n", number, sum);
}

回答如下:
number=0,sum=0;
if(in<0) in=-in;

{
number++;
sum+=(in%10);
}while((in/=10)!=0);
你加进去编译运行,再找几个数测试一下看看

int sum=0,number=0;
in=abs(in);\\取绝对值
while(in){
sum=sum+in%10;\\取最右边的一位数
in=in/10;
number++;
}