c语言如何求一个数的阶乘 5
8个回答
展开全部
n的阶乘就是从1到的累积,所以可以通过一个for循环,从1到n依次求积即可。
参考代码:
#include "stdio.h"
int main() {
int n,i,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循环求累积
s=s*i;
printf("%d\n",s);
return 0;
}
/*
运行结果:(例如求5的阶乘)
5
120
*/
扩展资料:
return用法:
return返回一个数值的意思就是把return<表达式>后面表达式的值返回给调用他的函数。举个例子:
int sum(int i,int j)
{
return i+j;
printf("这个语句不会被执行,因为该子函数执行到上面的return语句就无条件结束了");
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
展开全部
求位数的话把这个数取10的对数就行了。至于求阶乘的话,如果n不是很大可以直接来算,当n比较大的时候可以用斯特林公式来求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求阶乘的代码你在网上应该可以搜索得到,至于求一个数的阶乘的位数,可以用如下代码实现
#include"stdio.h"
#include"math.h"
void main()
{
int i,n,sum;
scanf("%d",&sum); //sum为一个数的阶乘
for(i=1;;i++)
{
n=pow(10,i);
if(sum<n)
{
printf("%d的位数是%d\n",sum,i);
break;
}
}
}
#include"stdio.h"
#include"math.h"
void main()
{
int i,n,sum;
scanf("%d",&sum); //sum为一个数的阶乘
for(i=1;;i++)
{
n=pow(10,i);
if(sum<n)
{
printf("%d的位数是%d\n",sum,i);
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
long number = 10; //number是几就计算几的阶乘;
long sumber = 1;
for(long i = 1; i <= number; ++i)
sumber *= i;
printf("%ld\n",sumber);
return 0;
}
追问
最好要自定义函数
追答
/*你也太懒了*/
#include <stdio.h>
long factorial(long n);
int main()
{
long number = 10; //number是几就计算几的阶乘;
long sum = factorial(number); //调用函数;
printf("%ld\n",sum);
return 0;
}
long factorial(long n) //你要的自定义函数;
{
long sum = 1;
for(long i = 1; i <= n; ++i)
sum *= i;
return sum;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
望采纳
#include<stdio.h>
int fun(int num)
{
int s;
if(num==1)
{
return 1;
}
s=num*fun(num-1);
return s;
}
int main()
{
int s;
int num;
while(1)
{
printf("input a number:");
scanf("%d",&num);
getchar();
s=fun(num);
printf("%d\n",s);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询