用C语言写一个程序使!就是阶乘的意思
即:
我输入1得到1
我输入2得到2
我输入3得到6
。。。。。。
------解决方案--------------------
递归和非递归都很好实现,主要是是否需要考虑溢出的问题
------解决方案--------------------
谭浩强C语言第二版的课后习题啊,还是自己先看看书吧。
------解决方案--------------------
- C/C++ code
#include <stdio.h> int main() { int rst = 1; int i; scanf("%d", &i); for(; i > 0; --i) rst *= i; printf("%d\n", rst); return 0; }
------解决方案--------------------
- C/C++ code
#include <stdio.h> int main() { int rst = 1; int i; scanf("%d!", &i);//这里加个!不就好了。 for(; i > 0; --i) rst *= i; printf("%d\n", rst); return 0; }
------解决方案--------------------
- C/C++ code
#include <stdio.h> int main() { int rst = 1; int n=0; int i; char s[8]={0}; scanf("%s", &s); for(i=0; s[i] != '!'; i++) n = n*10 + s[i]-'0'; for(; n > 0; --n) rst *= n; printf("%d\n", rst); return 0; }
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
这个可以用一个递归函数实现
int trace(int i)
{
if(i==1) return i;
------解决方案--------------------
else i*trace(i-1);
}