很久以前自己做的一些训练题,很经典,贴出来和大家分享下,如有错误请多指教 ^-^
[题目]利用递归方法实现一个函数,该函数能够实现n的阶乘,即n! = n * (n - 1) * ... * 3 * 2 * 1;
</pre><pre class="csharp" name="code">/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:递归实现n的阶乘
Funcion List:
*****************************************************/
#include <stdio.h>
int mul(int num)
{
if(num > 1)
{
return (num * mul(num - 1)); //实现递归
}
else if(1 == num)
{
return 1;
}
}
int main()
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("%d! = %d\n", num, mul(num));
return 0;
}
【题目】利用递归函数调用方式,将所输入的n个字符以相反顺序打印出来
/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:将包含n个字符的字符串倒序
Funcion List:
*****************************************************/
#include <stdio.h>
void rank(char a[])
{
if((*a) != '\0')
{
rank(a + 1);
}
putchar(*a);
}
int main()
{
int n;
char a[10];
printf("请输入要输入的字符个数:");
scanf("%d", &n);
printf("请输入%d个字符:\n", n);
scanf("%s", a);
rank(a);
printf("\n");
return 0;
}
很久以前自己做的一些训练题,很经典,贴出来和大家分享下,如有错误请多指教 ^-^