永发信息网

c语言中输入两整数m,n求m!+n!的值

答案:3  悬赏:0  手机版
解决时间 2021-07-21 00:57
c语言中输入两整数m,n求m!+n!的值
最佳答案

考虑Int最大存储到16的阶乘, 再大就会导致数据溢出.


所以可以用double来存放阶乘的结果. 楼上:古风的程序,fun函数定义成double,却又定义了int的y来存储阶乘结果... 无语..



#include <stdio.h>


__int64 fun(int a)
{
if(a<=1) return 1;
else return a*fun(a-1);
}
int main()
{
__int64 sum=0;
int m,n;
scanf("%d%d",&m,&n);


sum=fun(m)+fun(n);
printf("结果为:%I64d\n",sum);


return 0;
}

全部回答

#include<stdio.h>

double fun(int x){ int y;

if(x==1)

y=1;

else y=x*fun(x-1);

return y;

}

void main(){

int m,n;

scanf("%d,%d",&m,&n);

printf("%f",fun(m)+fun(n)); getch();

}

你好,很高兴为你解答,以下答案来自问问团队:54666

=============================================================================

下面这个方法是递归求阶乘的方法,fn函数就是带有一个参数的。你可以将m和n分别代入计算得值后相加就是你的 问题的答案了,相信这段c代码不难了吧?

int fn(int n) { if(n==0||n==1) { return 1; } else if(n>0) { return n*fn(n-1); } return fn(n); }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帮忙找F12009赛车游戏的网址,一定要可以用迅
DNF中的执行巨剑从7强化到13的过程是怎样的?
EasyRecovery的一些问题!
布兰妮lucky空间网络地址
如何夜游维多利亚港 好
用宽带账号上chinanet无线网要收费吗
社保卡查询密码跟买药输的密码一样吗
我们身边有哪些环境被破坏l了
中国移动的GPRS
抢车位添加完后不能用!显示是今天开通资格满
get away from
韩寒的女友是谁
CF的战队改名可以不要钱吗?
好无聊!怎么办?如何自娱?
步步高学习机h2适合山西初中学生吗
推荐资讯
翻译,翻译成英文
为什么,DNF老是更新哦
为什么我升级QQ为2009后,QQ秀就没了?
我是1988年11月初3生的。拜托!帮我占卜下看
除了腾迅,还有没有别的手机看书的网站了?
10年1月份汉语言文学自考本科有哪些科目
Vista 开始栏和任务栏都打不开
无聊该怎么过?
市场营销相关论文题目,市场营销的论文写什么
为什么女人会流月经出血
求魔兽世界NPC或是BOSS声音~做手机铃声
汉阳区武汉德佑地产(七里庙店)地址是什么,有
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?