任意输入一个整数,求出它是一个几位数,并求出各位数字之和(不允许使用循环结构)用C语言。。。谢谢。

如题所述

第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);
}本回答被网友采纳
相似回答