永发信息网

用C语言编一程序求10的阶乘

答案:5  悬赏:50  手机版
解决时间 2021-01-04 21:59
要用上函数的递归调用

本人积分不多 只好全部奉上来表达对回答者的感谢
谢谢大家了!!!
下面两位的回答都很好 但是题目还要求用上函数的递归调用
最佳答案
#include<stdio.h>

int fac(int n); //函数声明

void main()
{
int a;
//int m;
printf("input a int number:");
scanf("%d",&a);
printf("after the function is:");
//m=f(a);
printf("%d\n",fac(a));
}

int fac(int n) //定义fac函数
{
if(n<0)
{
printf("n<0,date error!");
}
else
if(n==0||n==1)
{
return 1;
}
else
return (n*fac(n-1));
}

注意输入的数不能太大了,否则就会出现溢出的情形。
比方说10000的阶乘就要用数组来实现了,这个程序是无法办到的。
全部回答
#include &lt;stdio.h&gt; int a(int n) { if(n==1) { return 1; } else { return n*a(n-1); } } main() { int rtn; rtn = a(10); printf("%d\n",rtn); }
#include <stdio.h> main () { unsigned long long int sum=1; char i; for (i=1;i<=10;i++) sum*=i; printf ("%ld",sum); return 0; } 这里有个符合你要求的例子 http://www.bc-cn.net/Article/kfyy/cyy/jc/200511/916.html
#include <stdio.h> #include <stdlib.h> int a(int n); int main() { int z; printf("请输入一个不大于10的整数\n"); scanf("%d",&z); printf("%d!=%d",z,a(z)); system("pause"); } int a(int n) { if(n==1) { return 1; } else { return n*a(n-1); } }
递归函数求 10 的阶乘 #include <stdio.h> long int fun(int n) //递归函数 { if (n==1||n==0) return 1; else return (n*fun(n-1)); } void main() { int n; printf("输入要求阶乘的数\n");//输入10就行了。不能输入太大的数,道理你应该知道呵呵! scanf("%d",&n); printf("%d的阶乘是%ld\n",n,fun(n));//调用函数 } 如果你只求10的阶乘 可以直接给n 赋值为10 不用输入
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吴羊平社区村委会地址在哪?我要去那里办事
如何制作PS图层样式
坚果3手机总会有一个叫小赵的来电 接通后有提
John reached out in a hurry , the door .A.
下列说法中正确的是A.海峡是沟通两个岛屿的狭
杨颖韩文怎么写
求RO自动拣物指令?
初中七年级的政治主要学什么?
单选题德意志统一实质上是一场对“诸侯君主专
顺丰快递北京首都机场集是中心2到合肥包河集
行丧是什么意思
下列几种说法中,正确的是A.给冰加热,冰的温
单选题生产力与生产关系、经济基础与上层建筑
邢邑村委会办公位置在哪啊?好找么?
阅读理解WorkplacesallovertheUKareprep
推荐资讯
请问谁有敖厂长《囧的呼唤》全集资源?
长帝烤箱上下管加热时是不是都是红色
4250立方厘米=________立方分米?4.08升=_____
在北京的优良品种甘蓝,叶球重达3kg,引种到
怎么设置关注淘宝店铺动态
为什么微信视频对话,不可以直接发起,也没有
托运电动车哪种托运最便宜
摩羯男对于喜欢的女生会有什么表现
单选题动力与动力臂的乘积比阻力与阻力臂的乘
怎么连接硬盘录像机到电脑
单选题下面句中加粗词使用不正确的一项是A.我
单选题《文化软实力蓝皮书:中国文化软实力研
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?