用递归的方法求s = k! + n! / m!的值
《程序设计基础实训指导教程-c语言》
ISBN 978-7-03-032846-5
p142
7.1.2 上级实训内容
【实训内容5】求s = k! + n! / m!
的值
#include<stdio.h>
float jiecheng(float);
int main()
{
float s,k,n,m;
char choose;
do
{
printf("分别输入k,n,m的值(以空格隔开):");
scanf("%f%f%f",&k,&n,&m);
getchar();
printf("%.3f",jiecheng(k)+jiecheng(n)/jiecheng(m));
printf("\n继续[y/n]?");
scanf("%c",&choose);
} while (choose=='y'||choose=='Y');
printf("程序结束\n");
}
float jiecheng(float x)
{
int sum;
if(x==1||x==0)
{
sum=1;
}
else
{
sum=x*jiecheng(x-1); //求阶乘的递归调用
}
return sum;
}
还没有评论,来说两句吧...