C语言整数逆序输出

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言整数逆序输出

将一个从键盘输入的整数存放到一个数组中,通过程序的运行按照数组中的逆序输出该整数,利用递归的方法解决问题。

算法思想

设计函数实现数据的逆序存放,设定形参数组接收实参数组的地址,来存储数据的每一位。

函数体采用递归的方式解决问题,因此考虑递归进行的条件。例如,把数据 n 存放到数组s 中,若 n 是一位数,则存放 n 到数组中;若 n 不是一位数,则存放 n/10 到数组中。

问题解决的难点在于找到数据的存放地址,通过不断地取余和整除10 来得到数据的每一位。为了实现数据的逆序存放,每一次整除 10 的时候,同时把存放数据的数组地址后移,这样得到的第一位数存放在数组的最后一位……通过依次前移,即递归的回归,实现整个数据的存放。通过函数 convert() 实现字符串中的数字的逆序转换。

程序代码

1.#include<>

2.int convert(char s[],int n)

3.{

4.int i;

5.if((i=n/10)!=0)

6.convert(s+1,i);

7.*s=n%10+'0';

8.return0;

9.}

10.

11.int main()

12.{

13.int num;

14.char str[10]=" ";

15.printf("input integer data:");

16.scanf("%d",&num);

17.convert(str,num);

18.printf("output string:\n");

19.puts(str);

20.return0;

21.}

调试执行结果

当输入整数为 9 时,其程序运行结果如下所示:

当输入整数为 9 时,逆序转换输出结果如下所示:

相关文档
最新文档