用循环结构求出10! C语言

用函数的递归调用求sum=1+2+3+4+…+n的和,整数n从键盘输入。

#include <stdio.h>
int main()
{
int sum=1;
int i;
for(i=1;i<=10;i++)
{
sum*=i;
}
printf("10!=%d\n",sum);
}

10!就是10*9*8*7....*1所有就是上面的示例咯
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-30
循环结构就不多说了,很多网友已经作了回答,请注意保存结果的数据类型,免得长度超出。本题可以不考虑此问题。我重点说说递归求累加和问题

int fac(int a) //递归函数
{
if(a>1)
{
return a + fac(a-1) ;
}
else
{
return 1 ;
}
}
#include <stdio.h>
void main()
{
int iResult ;
int iInput ;
printf("Input the number:/n") ;
scanf("%d",&iInput ) ;
iResult = fac(iInput ):
printf("the result is %d\n",iResult );
}
我输入了10 ,结果是55 ,应该是对的。希望对你有所帮助
第2个回答  2011-12-30
这个简单
#include <stdio.h>
void main()
{
int i,s=1;
for(i=1;i<=10;i++)
{
s*=i;
}
printf("%d\n",s);
}
第3个回答  2011-12-30
#include<stdio.h>
void add (int n )
{
if(n<=0)
return 0;
else
return n+add(n-1);
}
int main()
{
int n;
printf("输入n的值:");
scanf("%d",&n);
printf("%d“,add(n));
}
第4个回答  2011-12-30
int main ()
{
int factorial = 1;
for (int i = 1; i<=10; i++)
{
factorial *= i;
}

printf ("the result is = %d\r\n", factorial);

return 0;
}
相似回答