第1个回答 2012-12-13
#include <stdio.h>
int bits(int num)
{
if (num / 10 < 1)
return 1;
return 1 + bits(num / 10);
}
int sum(int num)
{
if (num / 10 < 1)
return num;
return (num % 10) + sum(num / 10);
}
int main(int argc, char **argv)
{
printf("bits = %d\n", bits(123456789));
printf("sum= %d\n", sum(123456789));
return 0;
}
不能用循环,那就用递归吧:)
第2个回答 推荐于2018-04-19
#include<stdio.h>
void main()
{
int n,sum=0;
printf("请输入任意一个整数:");
scanf("%d",&n);
while(n%10)
{
sum+=n%10;
n=n/10;
}
printf("其各个位数之和为%d\n",sum);
}本回答被网友采纳