当前位置: 代码迷 >> C语言 >> 这个我怎么也想不明白...高手的进来赐教
  详细解决方案

这个我怎么也想不明白...高手的进来赐教

热度:93   发布时间:2007-01-09 12:44:20.0
这个我怎么也想不明白...高手的进来赐教

昨天晚上看到的一道题目:
The factorial(阶乘) of an integer n,written n!,is the product of the consecutive integers 1 through n.For example,5 factorial is calculated as
5!=5*4*3*2*1=120
Write a program to generate and print a table of the first 10 factorials。

想了半天都没有结果,请高手指教。这个是我自己写的代码。
#include <stdio.h>

main()

{
int n,i;
long int s;
printf(" n________s\n");
for(n=1;n<=10;n++)
{
for (i=1;i<=n;i++)
{
s=i;
s=s*i;

printf(" %d %d\n",n,s);
}


}
return 0;
}

搜索更多相关的解决方案: face  generate  example  include  product  

----------------解决方案--------------------------------------------------------

#include"stdio.h"
main()
{
int n;long int s;
for(n=1,s=1;n<=10;n++)
{ s=s*n;
printf("%d的阶乘是:%d\n",n,s);
}
}


----------------解决方案--------------------------------------------------------

这种问题,不劳高手,我就可以解决了。修改后的代码:
#include <stdio.h>
int main()
{
int n,i;
long int s;
printf(" n________s\n");
for(n=1;n<=10;n++)
{
s=1;
for (i=1;i<=n;i++)
s=s*i;
printf(" %d %d\n",n,s);
}
return 0;
}
原因你自己分析好了。


----------------解决方案--------------------------------------------------------
n
没 有值
用个scanf("%d",&n);
输入进去
----------------解决方案--------------------------------------------------------
这个用递归的
#include<stdio.h>
long sum=1,i=1;
int main()
{
sum*=i++;
if(i<=10)
main();
else
printf("%ld\n",sum);
}
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main()
{
int sum=1,N;
for(N=1;N<=10;printf("%d!=%d\n",N,sum),N++,sum=1)
for(int n=N;n>0;n--) sum*=n;
return 0;
}
----------------解决方案--------------------------------------------------------

我也给你写一个:
#include <stdio.h>

void main()
{
int i,N;
int s=1;

printf("请输入你要求的阶乘数:");
scanf("%d",&N);

for (i=1;i<=N;i++)
s*=i;
printf("%d 的阶乘为:%d\n",N,s);

}


----------------解决方案--------------------------------------------------------
谢谢大家,小弟明白了。
----------------解决方案--------------------------------------------------------
  相关解决方案