7-28 求整数的位数及各位数字之和 (15分)
题目:
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过10^9的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
求各位数字之和思路
代码:
#include<stdio.h>
int main()
{
int N,a,b;
int num=0,sum=0;
scanf("%d",&N);
b=N;//由于本人分段思考,故用b代替输入初始值N
do{
num++;
N=N/10;
}while(N>0);
printf("%d ",num);
while(b>=10){
a=b%10;
sum=sum+a;
b=b/10;
}
printf("%d",sum+b);
return 0;
}
由于本人分段思考,故用b代替输入初始值N,这也导致了代码过于繁琐。本代码应可以合并,但我要去吃饭了。
(注:第一次写博客,参考了部分大佬发表博客的格式。)