倒输一个整数(递归调用)
来源:互联网 发布:看澳洲股市软件 编辑:程序博客网 时间:2024/05/17 08:20
#include<stdio.h>
void f(int a);
int main()
{
int m;
scanf("%d",&m);
if(m<0)
{
m=-m;
putchar('-');//putchar为输出一个字符函数,注意是单引号
}
f(m);
return 0;
}
void f(int a)
{
if(a>=0&&a<=9)//如果没有if语句,则下面的将会无限循环,并且最后一直循环的结果为0
printf("%d",a);
else
{
printf("%d",a%10);//有返回值的子函数调用就是return的那个变量的值。无返回值的子函数,一般要么是打印输出一些信息,要么是利用指针来改变某些变量的值。也就是说无返回值的子函数一般是用来执行某些动作的。
f(a/10);//f(c)这个时候就充当b=a%10中的a了
}
}
若用一般方法去倒输整数,只能是程序给定的整数,比如123,则先输出把3给一变量,再把2给一变量,而不能无穷循环下去,而对于for循环,则不能执行如此强大的循环功能,只有递归才能做到。而前面的字符串倒置,也可以把整数每个数字当作字符,下面就是代码
#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100];
gets(a);
int i,len;
len=strlen(a);
for(i=0;a[i]!='\0';i++)//a[i]!='\0';和i<len;一样
b[len-1-i]=a[i];
b[i]='\0';//不可忽视!!意为之后一位为结束符
puts(b);
return 0;
} 只不过形式上相似而已,实质是不同的,并且这个代码不能输出负的整数
- 倒输一个整数(递归调用)
- 用递归的方法将一个整数n转化为字符串(不是调用函数,直接输出)
- 反转一个整数 递归/原创
- 递归 将一个整数逆序
- 整数划分(递归)
- 整数分解(递归)
- 整数划分(递归)
- 整数分界(递归)
- 整数划分(递归)
- 整数划分(递归)
- 整数划分(递归)
- 整数因子分解:计算一个整数所有的分解式(递归实现)
- 用递归调用输出 一个N位整数的每一位的数 并转化为一个字符串
- 用递归反向输出一个整数
- 递归---把一个整数反转处理
- 获得任意一个整数的阶乘,递归
- 包含一个递归调用的递归。(自调用的格式)
- 递归调用的一个例子
- 关于反转链表的问题
- Adaboost学习资料
- 如何关闭应用程序
- 动态规划 基础总结
- Android table布局开发的一个简单的计算器
- 倒输一个整数(递归调用)
- 前端优化十四原则
- dedecms后台验证码显示不正常的四种处理办法
- UVa 658 It's not a Bug, it's a Feature! (Dijkstra+位运算技巧+好题)
- 如何坚持每周写一篇博客
- (7) linux 编译并安装mysql-5.6.15.tar.gz ---> CentOS-6.6-x86_64 + mysql-5.6.15.tar.gz
- quartz CronExpression表达式
- 第二篇T语言实例开发(版本5.3),福彩3D摇号器
- POJ 2524 Ubiquitous Religions 详细题解(并查集)