对于给定的正整数N,求它的位数及其各位数字之和。
# include<stdio.h>
int main()
{
int N;
int cnt=1;
int finished=0;
int t;
int sum=0;
scanf("%d",&N);
do{
N = N/10;
if(N==0){
finished =1;
break;
}
else{
t=N%10;
sum+=t;
cnt++;
}
}while(!finished);
printf("%d %d\n",cnt,sum);
return 0;
}
#include<stdio.h>
int main()
{
int n,i=0,sum=0;
scanf("%d",&n);
while(n!=0)
{
sum+=n%10;
n=n/10;
i++;
}
printf("%d %d",i,sum);
return 0;
}
个位数没加上去,修改代码如下
# include<stdio.h>
int main()
{
int N=52345;
int cnt=1;
int finished=0;
int t;
int sum=0;
int temp = N;
do{
N = N/10;
if(N==0){
finished =1;
t=N%10;
sum+=t;
//printf("1 S:%d,T:%d\n", sum, t);
break;
}
else{
if (sum==0)
sum += (temp - N* 10);
else{
t=N%10;
sum+=t;
cnt++;
//printf("2 S:%d,T:%d, N : %d\n", sum, t, N);
}
}
}while(!finished);
printf("%d %d\n",cnt,sum);
return 0;
}