c语言这个阶乘 怎么错了?

#include<stdio.h>
main()
{
int jie(int n);
int n,answer;
answer=0;
printf("please input the number\n");
scanf("%d",&n);
answer=jie(n);
printf("the answer is %d\n",answer);
}
int jie(int n)
{
int z;
if(n==1)
{
z=n;
}
if(n>=1)
{
z=jie(n-1)*n;
}
return z;
}

if(n>=1) ==》else if(n>1)
温馨提示:内容为网友见解,仅供参考
无其他回答

关于C语言求阶乘问题。这个程序为什么错了?
应该写在第一个循环与第二个循环之间 如果不这样就等于里面每乘一次都要把结果加一次

c语言 阶乘
这里你没有加等于1的时候返回1,所以错了。加一句就可以了。int fa(int num){ int s; if(num > 1) s=num*fa(num-1); else return 1; return s;}

c语言计算阶乘 那错了
main(){ long s=1;int i;for(i=1;i<=8;i++)s*=i ;printf("%ld",s);\/\/格式说明符,s是长整型,} 7的时候没超出范围,乘了8就超出int范围了

C语言编程求阶乘的问题,哪里错了?帮忙看一下,
错的是逻辑,一塌糊涂,最后会死循环 int sum=1,i;for(int j=1;j<=i;j++){ sum*=j;}

C语言计算阶乘这个为什么不对?
死循环了吧 while(n > 1)result = result * n; n --;

c语言,多次求阶乘,哪错了? n等于6以后结果不对。发现去掉goto语句后,结 ...
我运行了,只输入一次的话没问题。你这个可不是多次求阶乘的值,当你goto跳转回去虽然n会被重新赋值,但是你的s的值可是上次阶乘后留下的,这时s可不是1了,当再次执行for循环时可不是阶乘了!初学者可以用VC++6.0 它支持c语言和c++

C语言求阶乘程序,不知道哪里错了。请各位帮我指点一下,谢谢!可以运行...
20的阶乘是一个很大很大的数,你定义一个int型变量是不够的,溢出了,用浮点型吧.

为什么我这个求阶乘和 n>12答案就是错的,c语言编程
return count;\/\/返回当前阶乘的数位长度 } void fun1(int len){\/\/大数相加 int t=0;for(int i=0;i<len;i++){ t=t+s[i]+a[i];s[i]=t%10;t\/=10;} if(t!=0)\/\/进位 s[len]=t;\/\/memset(a,0,sizeof(a));}\/\/每次函数fun1调用后a数组不用置0,\/\/因为i+1一定不i的...

c语言计算阶乘 那错了
include "stdio.h"main(){ long s=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++)s*=i ;printf("%ld",s);} 你想要求15的阶乘,而那个条件>=6,怎么可以再执行下去,所以你可以加上一句输入语句,这样求哪个的阶乘都可以了,不是很方便吗?兄台!!!跟你运行了,此程序没错!1 ...

c语言递归求阶乘的问题,我不知道哪里错了,求大神解答
c = re(n);printf("阶乘的最后值为:%ld",c);} int re(int n){ long r;if(n < 0){ printf("n<0,error");} else if(n == 0|| n == 1){ r = 1;} else { r = re(n-1)*n;} return r;} 程序大的错误没有,就是你的scanf用错了,详情看看我改后的程序!在scanf...

相似回答
大家正在搜