C语言你编程:用递归方法实现对一个整数 的 逆序输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言你编程:用递归方法实现对一个整数 的 逆序输出相关的知识,希望对你有一定的参考价值。
输入输出 示例:
Enter a number:12345
54321
void printData(int data)
if (data==0)
return;
printf("%d",data%10);
printData(data/10);
int main()
int data;
printf("Enter a number:");
scanf("%d",&data);
printData(data);
printf("\n");
return 0;
程序如上,可以运行。 参考技术A #include <stdio.h>
#include <stdlib.h>
void print_order_number(unsigned number)
printf("%d",number%10);fflush(NULL);
if ( number >= 10 )
print_order_number(number/10);
int main(int argc, char**argv)
if ( argc != 2 )
printf("Usage: rev_print <integer> \n");
exit(0);
unsigned number = atol(argv[1]);
print_order_number(number);
return 0;
C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)
此题目基本思想与非递归方法思想一样,主要是对输入的数进行取数(对10取余)和缩小(整除10)eg:
1234
第一次 1234%10取得数4,1234/10缩小为123
第二次 123%10取得数3, 123/10缩小为12
第三次12%10取得数2, 12/10缩小为1
第四次 当调用的数小于十直接取得此数为1
源代码:
#include<stdio.h>
#include<stdlib.h>
int DigitSum(int number)
{
int suu,m ;
while(number)
{
m = number % 10;//取数
number /= 10;//数缩小
return m + DigitSum(number);
}
return number;//递归出口
}
int main()
{
int number,i=0,temp,m=1;
int result;
printf("请输入数字\n");
scanf("%d", &number);
temp = number;
result = DigitSum(number);
printf("计算结果为%d\n", result);
system("pause");
return 0;
}
以上是关于C语言你编程:用递归方法实现对一个整数 的 逆序输出的主要内容,如果未能解决你的问题,请参考以下文章