对于给定的正整数N,求它的位数及其各位数字之和

输入格式: 输入在一行中给出一个不超过10 ​9 ​​ 的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。


#include "stdio.h"
/*
对于给定的正整数N,求它的位数及其各位数字之和
*/
int main()
{
	int a,sum=0;
	int cnt =0;
	int i;
	scanf("%d", &a);
	while (a > 0)
	{
		cnt++;
		i = a % 10;
		sum += i;
		a = a / 10;
	}
	printf("位数=%d,各位之和=%d\n", cnt, sum);
 
	return 0;
}

 

供参考:

#include<stdio.h>

int main()
{
    int n,j=0,s=0;
    scanf("%d",&n);
    if(n > 1000000000) return 1;
    while(n){
          s += n%10;
          j++;
          n /= 10;
    }
    printf("%d %d\n",s,j);
    
    return 0;
}

 

求位数就是不断求余10,计算能求几次。然后记录每个余数求和

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

int main()
{
	int N,m=0,k,sum=0;
	scanf_s("%d", &N);
	while (N / 10 > 0)
	{
		m++;
		k = N % 10;
		sum += k;
		N = N / 10;
	}
	m++;
	sum += N;
	printf("m=%d sum=%d\n", m, sum);

	return 0;
}