对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过109的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
代码:
#include<stdio.h>
int main()
{
int a,b,c,cnt;
scanf("%d",&a);
cnt=0;
c=a;
while(a!=0)
{
a=a/10;
cnt++;
}
if(cnt==1)
b=c;
else if(cnt==2)
b=c/10+(c%10);
else if(cnt==3)
b=c/100+(c%100/10)+c%10;
else if(cnt==4)
b=c/1000+(c%1000/100)+(c%1000%100/10)+c%10;
else if(cnt==5)
b=c/10000+(c%10000/1000)+(c%1000/100)+(c%1000%100/10)+c%10;
else if(cnt==6)
b=c/100000+(c%100000/10000)+(c%10000/1000)+(c%1000/100)+(c%1000%100/10)+c%10;
else if(cnt==7)
b=c/1000000+(c%1000000/100000)+(c%100000/10000)+(c%10000/1000)+(c%1000/100)+(c%1000%100/10)+c%10;
else if(cnt==8)
b=c/10000000+(c%10000000/1000000)+(c%1000000/100000)+(c%100000/10000)+(c%10000/1000)+(c%1000/100)+(c%1000%100/10)+c%10;
else if(cnt==9)
b=c/100000000+(c%100000000/10000000)+(c%10000000/1000000)+(c%1000000/100000)+(c%100000/10000)+(c%10000/1000)+(c%1000/100)+(c%1000%100/10)+c%10;
else
b=c/1000000000+(c%1000000000/100000000)+(c%100000000/10000000)+(c%10000000/1000000)+(c%1000000/100000)+(c%100000/10000)+(c%10000/1000)+(c%1000/100)+(c%1000%100/10)+c%10;
printf("%d %d",cnt,b);
return 0;
}