对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过109的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
小总结:根据以往的经验,但凡这种问题,直接去操作整数的位数,是最好的选择。
#include<stdio.h>
int getdigits( int N ) ;
int main(void){
int N ;scanf("%d",&N) ;
int digits , result = 0 ,tail ;//tail表示取最后一位数
digits = getdigits( N ) ;
int toolman = digits ; //用来接受待会输出的整数位数
for( ; digits > 0 ; digits--){
tail = N % 10 ;
N = N / 10 ;
result = result + tail ;
}
printf("%d %d", toolman ,result) ;
return 0 ;
}
int getdigits( int N ){
int i = 1;//用来数位数,默认为1
for( ; N > 9 ; i++){
N = N / 10 ;
}
return i ;
}