各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。C语言

各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。(1)选项菜单集成各个计算功能函数(2)求任意数的阶乘(3)求组合数(4)求任意两个整数的最大公约数和最小公倍数... 各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。(1)选项菜单集成各个计算功能函数(2)求任意数的阶乘(3)求组合数(4)求任意两个整数的最大公约数和最小公倍数(5)判断任意数是否是素数(6)显示菲波拉契数列的前N项 展开
 我来答
匿名用户
推荐于2018-04-15
展开全部
#include "stdio.h"

int Factorial(long a)
{
long result;
if(a == 1)
result = 1;
else
result = Factorial(a - 1) * a;
return result;
}

/*这里也可以用递归的方法*/
void Combination(int a,int b)
{
int result;
result = Factorial(a) / (Factorial(b) * Factorial(a - b));
printf("该组合数的值是:%d",result);

}

int GCD(int a,int b)
{
if (b == 0)
return a;
return GCD(b,a%b);
}

int LCM(int a,int b)
{
return a*b/GCD(a, b);
}

void primeJudge(int n)
{
int count = 0;
int i = 0;
for(i=2;i<n;i++)
{
if(n % i == 0)
break;
else
count++;
}
if(count == (n - 2))
printf("该数是素数!");
else
printf("该数不是素数!");
}

int Fibonacci(int n)
{
long number;
long i;
if(n == 1)
number = 1;
else
{
number = Fibonacci(n - 1) + Fibonacci(n - 2);
printf("%-4ld",number);
}
}

void main()
{
int choose;
int enter_a,enter_b;
printf("请选择你想要计算的函数:");
printf("--------1.求任意数的阶乘--------");
printf("--------2.求求组合数--------");
printf("--------3.求任意两个整数的最大公约数--------");
printf("--------4.求任意两个整数的最小公倍数--------");
printf("--------5.判断任意数是否是素数--------");
printf("--------6.显示菲波拉契数列的前N项--------");
scanf("%d",&choose);
switch(choose)
{
case 1:
printf("请输入上限:");
scanf("%ld",&enter_a);
printf("结果是:%ld",Factorial(enter_a));
break;
case 2:
printf("请输入组合数中的m和n:");
scanf("%d%d",&enter_a,&enter_b);
while(1)
{
if(enter_a > enter_b)
break;
else
{
printf("输入不符合数学规律,请重新输入:");
scanf("%d%d",&enter_a,&enter_b);
}
}
Combination(enter_a,enter_b);
break;
case 3:
printf("请输入两个数:");
scanf("%d%d",&enter_a,&enter_b);
printf("最大公约数是:%d",GCD(enter_a,enter_b));
break;
case 4:
printf("请输入两个数:");
scanf("%d%d",&enter_a,&enter_b);
printf("最小公倍数是:%d",LCM(enter_a,enter_b));
break;
case 5:
printf("请输入一个数:");
scanf("%d",&enter_a);
primeJudge(enter_a);
break;
case 6:
printf("请输入上限:");
scanf("%ld",&enter_a);
Fibonacci(enter_a);
break;
default :
printf("输入的选择是不正确的!");
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式