输入格式: 输入在一行中给出一个不超过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;
}