C语言:用递归实现将输入的整数按逆序输出。如输入12345,则输出54321。
2008-06-20 21:46
1096 查看
这个程序是我对构造函数有个更深的认识。
首先构造函数要先从头至尾走一边才会输出,无论输出语句加的位置(循环内,条件语句内...除外)。
然后构造函数递归可以把问题简单化,本题如果按常规思路,应该是做个循环,把各个数首尾交换。但是用调用使得其可以一次输出一位数,而并不是输出一个数组。
这道题是我开阔了编程思路。
# include "stdio.h"
int invert(long m)
{ printf("%ld", m%10);
m = m/10;
if (m>0)
invert(m) ;
}
main()
{
long n;
printf("Enter n: ");
scanf("%ld", &n);
invert(n);
printf("\n");
}
首先构造函数要先从头至尾走一边才会输出,无论输出语句加的位置(循环内,条件语句内...除外)。
然后构造函数递归可以把问题简单化,本题如果按常规思路,应该是做个循环,把各个数首尾交换。但是用调用使得其可以一次输出一位数,而并不是输出一个数组。
这道题是我开阔了编程思路。
# include "stdio.h"
int invert(long m)
{ printf("%ld", m%10);
m = m/10;
if (m>0)
invert(m) ;
}
main()
{
long n;
printf("Enter n: ");
scanf("%ld", &n);
invert(n);
printf("\n");
}
相关文章推荐
- 用递归实现输入一系列整数后逆序输出
- 编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 –> 12345,要求使用递归,并且函数体代码不超过8行
- java 用递归实现:输入一个整数,用字符串逆序输出,例如输入123,输出321 ,不使用全局变量
- 输入一个整数,将其反向输出,如输入12345,要求输出54321
- <C语言>如何一步一步根据简单的代码联想到更多的功能?(实现输入一个整数,输出比它小包括它本身的所有素数。)
- 输入一个整数,使用递归方法实现反向输出
- 利用指针实现将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各单元的值。
- 模拟实现atoi,例如输入字符串“12345”,输出整数12345
- 使用递归实现接收用户输入的正整数,输出该数的阶乘
- 【C语言】输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)按逆序输出各位数字,(3)按顺序输出各位数字
- 输入一个五位整数,将它反向输出。例如输入12345,输出应为54321。
- (c语言)输入一个整数,将其逆序输出
- C语言简单递归实现字符串逆序输出
- C语言递归算法系列_循环实现逆序和正序输出一个整数的每位数 (2)
- 利用C语言来实现交换两个变量的值,由终端输入两个整数给变量x、y,然后交换x和y的值后,输出x和y。 有不同的方法
- C语言实验:输入一个整数的小写金额值,转化为大写金额值并输出
- java实现递归将数组逆序输出
- 输入a,b,c三个整数,按由大到小顺序输出。(用3个指针变量指向3个整形变量,然后用swap函数来实现互换3个整型变量的值)
- JAVA实现输入一个整数,输出该数二进制表示中1的个数(《剑指offer》)
- 递归实现输出n个整数的全排列和所有子集