用C语言求5的阶乘,即5*4*3*2*1的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言求5的阶乘,即5*4*3*2*1的值?相关的知识,希望对你有一定的参考价值。
用Win-TC编写
fac(int n)//递归调用函数int t;
if(n==1||n==0)
return 1;
else
t=n*fac(n-1);//t=n*(n-1)*(n-2)*...*1
return t;
main()
int n,y;
printf("Enter n:");
scanf("%d",&n); //这边输入你要求的数
if(n<0)//保证n不为负数
printf("Enter data Error! try");
else
y=fac(n);
printf("\\n%d!=%d \\n",n,y); 输出该数的阶乘
希望对你有所帮助!
语句错误,用win-tc运行有错
追答嗯?? 提示什么错误呢?
参考技术A可以使用递归,也可以使用循环实现。
#include <stdio.h>int FactorialLoop(int num)
int ret_value;
if(num == 0)
ret_value = 1;
while(num > 0)
/*
应该加上对ret_value最大值的判断
*/
ret_value = ret_value * num;
num--;
return ret_value;
int main()
int iNum;
/*
iNum可以从控制台获取
*/
iNum = 5;
printf("%d",FactorialLoop(iNum));
上面是循环实现的。
追问main( )
int S=1,i;
for(i=1;i<=5;i++)
S=S※
printf(“%d”,S);
getch()
不知道你要说什么?
参考技术B #include <stdio.h>void main()
int n=5;
int sum=1;
for(i=1;i<=5;i++)
sum*=i;
printf("%d",sum);
追问
语句错误,用win-tc运行有错
本回答被提问者采纳 参考技术C 用for循环啊C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,
C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,C语言for语句
当然可以用单层循环!看——
#include "stdio.h"int main(int argc,char *argv[])
int i,t,k,n;
printf("Please enter n(int 0<n<13)...\\n");
if(scanf("%d",&n)!=1 || n<1 || n>12)
printf("Input error, exit...\\n");
return 0;
for(k=0,t=i=1;i<=n;t*=i++,k+=t);
printf("The result is %d\\n",k);
return 0;
运行样例:
int nj = 1;
for (int i = 1; i < n; ++i)
nj *= i;
sum += nj;
参考技术C 可以,开个数组累乘 参考技术D n个不连续的数吗? 可能需要用到数组哦
以上是关于用C语言求5的阶乘,即5*4*3*2*1的值?的主要内容,如果未能解决你的问题,请参考以下文章
求!1+!2+!3+!4+!5 注:!5=1*2*3*4*5; 求用C语言编出来 我学到循环结构 求解 最好写些注释让我容易懂