用C求1!+2!+3!..............+10!的和,求哪位大侠帮我修改一下,狂感谢,现在只能算10!,谁能帮我把和求

#include <stdio.h>void main(){int n,m;for(n=1,m=1;n<=10;n++){m=n*m;printf("%d尀n",m);}}
2025年05月07日 07:41
有6个网友回答
网友(1):

#include
void main()
{int n,m,s=0;
for(n=1,m=1;n<=10;n++)
{m=n*m;
s+=m;
printf("%d\n",m);
}
printf("%d\n",s);
}

网友(2):

替换main函数的内容为如下就可以了。最小限度的修改你的程序,同样速度还挺快。根本不用两个for。
int n,m,sum;
for(n=1,m=1,sum=0;n<=10;n++)
{
m*=n;
sum += m;
}
printf("%d\n",sum);

网友(3):

写个函数计算N!

//n不能太大,注意int的取值范围
int foo(int n)
{
int i,m=1;
for(i=0;ireturn m;
}

void main()
{
int i,sum=0;
for(i=1;i<=10;i++) sum += foo(i);
printf("1! + 2! + ... + 10! = %d\n", sum);
}

网友(4):

你这个程序只要加一句和加一个变量就可以

#include
void main()
{
int n,m=1,s=0;
for(n=1;n<=10;n++)
{
m=n*m; //m就是n的阶乘,不需要新的循环,也不需要子函数来求

s+=m; //这个就是实现+的运算

}

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

网友(5):

你们不觉得应该是两个for嵌套才能实现吗?
for(n=1;n<=10;n++)//大数阶乘需要另想办法
{
//j计算n的阶乘加到s
tmp = 0;//tmp保存临时的阶乘计算结果
for(m = n;m>1/*1没必要计算*/;m--)
{
tmp*=m;
}
s+=tmp;
}

网友(6):

#include
void main()
{
int n,m,i,sum=0;
for(n=1;n<=10;n++)
{
m=1;
for(i=1;i<=n;i++) m *=i;
sum+=m;
}
printf("%d\n",sum);
}