7-28 求整数的位数及各位数字之和

对于给定的正整数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 ;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值