阶乘如何用c语言实现?

 我来答
飞喵某
高粉答主

2019-06-21 · 说的都是干货,快来关注
知道答主
回答量:631
采纳率:0%
帮助的人:36.1万
展开全部

1、首先打开CodeBlocks编辑器,新建一个空白页面,写入头文件和主函数:

2、然后定义需要的变量,编写一个输入函数接受用户输入的数值,使用for循环实现阶乘计算,每次循环都用sum变量乘以循环的下标即可实现阶乘,最后需要编写输出函数,输出结果:

3、最后编译程序,输入一个数字,即可看到计算出正确的结果:

德温瑜We
2011-05-18 · TA获得超过897个赞
知道小有建树答主
回答量:1722
采纳率:0%
帮助的人:793万
展开全部
#include<stdio.h>
#define N 50 /*可以是任意一个数的阶乘,当然要计算机能够存的下*/

int main()
{
int a[100], l=0, i, j;
for(i=0; i<100; i++)
a[i]=0;
a[0]=1;

for(i=2; i<=N; i++)
{
for(j=0; j<=l; j++)
a[j] *= i;
l+=3;
for(j=0; j<l; j++)
if(a[j]>9)
{
a[j+1]+=a[j]/10;
a[j] %=10;
}
while(a[l]==0) l--;
}

for(i=l; i>=0; i--)
printf("%d", a[i]);
printf("\n");
}

看了 楼下两个 用int 存储 50!
感觉有点不可思议, 至少应该用double啊,用double虽然不能保证精度,但至少可以很接近结果。

3楼的 一句话:“老师说过,可以自已定义一个类型来表示更大的数。。。”

自己是可以定义,你可以定义任意类型。只不过需要你自己来实现。 50!这种问题 就相当于 大数 的操作。
网上可以下载到大树类, 支持 大数的+ - * / 开平方, 开根号,(几乎所有math里的函数)...。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尘世间的菜鸟0b0b74
2017-11-10 · TA获得超过474个赞
知道小有建树答主
回答量:356
采纳率:76%
帮助的人:123万
展开全部
#include<stdio.h>
int main()
{
int n=1,i,sum=1;
for(i=0;i<5;i++) /*这里就是1一直乘以到5,你要乘以10就修改成 i<10*/
{sum=sum*n;
n++;}
printf("sum=%d\n",sum);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
战微雨浪1T
推荐于2017-11-11 · TA获得超过2637个赞
知道小有建树答主
回答量:1144
采纳率:100%
帮助的人:1590万
展开全部
下面是求10的阶乘,你参考下:

void main
{
int fn =1,i=1;
int n = 10;
//下面就是求10的阶乘
for(i=1;i<=n;i++)
{
fn = fn * i;
}
printf("10的阶乘 是 %d",fn);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岩石の审判8a3631
2011-05-26 · TA获得超过3822个赞
知道小有建树答主
回答量:1513
采纳率:33%
帮助的人:1058万
展开全部
//求n的阶乘
int sum=0;
for(int i=1;i<=n;i++)
sum=sum+i;
return sum;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式