用递归的方法把一个无符号整数的每一位数字单独写出来,并且计算出每一位加起来的和。
2017-11-09 21:58
288 查看
这个题的具体含义是什么呢?
例如:
给出一个无符号整数:1234 一千两百三十四;
然后变成:1 2 3 4;
再把它们加起来:10;
所以很简单的一道题,但是我们要用递归的思想写出来;
所以代码如下:
#include<stdio.h>
#include<assert.h>
int add_recursion(int input)
{
int n = 0;
if(input<10)
{
return input;
}
n = input % 10;
return n+(add_recursion(input/10));
}
void add_recursion1(int input)
{
if(input>9)
{
add_recursion1(input/10);
}
printf("%d ",input%10);
}
int main()
{
int result = 0;
int input = 0;
printf("please input number:\n");
scanf("%d",&input);
result = add_recursion(input);
add_recursion1(input);
printf("\n");
printf("%d",result);
return 0;
}
代码的运行 结果为:
例如:
给出一个无符号整数:1234 一千两百三十四;
然后变成:1 2 3 4;
再把它们加起来:10;
所以很简单的一道题,但是我们要用递归的思想写出来;
所以代码如下:
#include<stdio.h>
#include<assert.h>
int add_recursion(int input)
{
int n = 0;
if(input<10)
{
return input;
}
n = input % 10;
return n+(add_recursion(input/10));
}
void add_recursion1(int input)
{
if(input>9)
{
add_recursion1(input/10);
}
printf("%d ",input%10);
}
int main()
{
int result = 0;
int input = 0;
printf("please input number:\n");
scanf("%d",&input);
result = add_recursion(input);
add_recursion1(input);
printf("\n");
printf("%d",result);
return 0;
}
代码的运行 结果为:
相关文章推荐
- 用递归的方法实现输出一个十进制数的每一位
- 用递归的方法实现输出一个十进制数的每一位
- Java输入一个数字跟次数进行拼接方法(可计算结果),输出2+22+222+2222.........
- 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字之和
- 递归方法计算一个中缀表达式的值
- 怎样计算一个整数的位数&并把每一位上的数字保存下来
- java实现读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字
- 运用递归给定一个int型的整数,倒序输出他的每一位上的数字
- 17-08-07 计算一个数字的立方根,不使用Math方法
- 给Nsstring增加一个对象方法:计算某个字符串中的阿拉伯数字的个数
- 杭电ACM OJ 1013 Digital Roots 如何用递归优雅地把一个未知长度的长整数的每一位拆分出来
- C语言解决读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
- 自己写的关于实现数字阶乘的方法,一个采用普通方法,一个是采用递归
- 怎样计算一个整数的位数&并把每一位上的数字保存下来
- 编写一个方法,计算一个整数各位数字之和
- 【PAT】【C++】读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
- 读入一个数n,计算其各位数字之和,用汉语拼音写出和的每一位数字
- 计算一个数字的长度的几种方法
- 怎样计算一个整数的位数&并把每一位上的数字保存下来
- 给一个字符串s,计算具有相同数字0和1的非空(连续)子字符串的数量,并且这些子字符串中的全部0和全部1被连续分组。子串发生多次被计数的次数。