
任意输入一个整数,求出它是一个几位数,并求出各位数字之和(不允许使用循环结构)用C语言。。。谢谢。
展开全部
#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;
}
不能用循环,那就用递归吧:)
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;
}
不能用循环,那就用递归吧:)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询