c语言计算1 n阶乘之和(用c语言编写程序计算1~n的阶乘之和.)

本文目录
- 用c语言编写程序计算1~n的阶乘之和.
- c语言:1到n的阶乘之和
- 用C语言求1到N的阶层 的累加和
- c语言求1到n的阶乘之和s
- C语言求1至n的阶乘和问题
- C语言求1~n阶乘的和
- C语言求一到n的阶乘之和,n大于1小于等于16
- c语言求1/n的阶乘和
用c语言编写程序计算1~n的阶乘之和.
错误可能有三个,第一你的main前面没有声明,缺少个int,第二个可能的错误就是没有按照题目的要求进行多股输入,你的代码只是输入一次n就结束程序,第三个是最主要的错误,你的for(j=1;j《=i;j++)
里面每次循环一次就把p赋值为1,如果输入3的话,答案是不是10?1*1+1*1*2+1*2*3=10。如果要这样算的话程序如下:
#include《stdio.h》
int main()
{
int i,j,n;
long p;
long Sn=0;
scanf(“%d“,&n);
for(i=1;i《=n;i++)
{p=1;
for(j=1;j《=i;j++)
{ p=p*j; }
Sn=Sn+p;
}
printf(“%ld\n“,Sn);
}
c语言:1到n的阶乘之和
1、首先打开vc6.0,新建一个项目。
2、添加头文件。
3、添加main主函数。
4、定义int变量i。
5、定义double类型变量sum,mix,并赋予初始值。
6、使用for循环求sum。
7、使用printf打印sum。
8、运行程序,看看结果。
用C语言求1到N的阶层 的累加和
思路:先定义一个函数用来计算一个数的阶乘,在从1到N循环依次就其累加和,最后输出累加和即可。
参考代码:例如求1到3的阶乘累加和。
#include “stdio.h“int fun(int n){
if(n==1) return 1;
else return n*fun(n-1);
}
#include “math.h“
int main() {
int n,sum=0,i;
scanf(“%d“,&n);
for(i=1;i《=n;i++)
sum+=fun(i);
printf(“%d\n“,sum);
return 0;
}
/*
运行结果:
3
9
*/
c语言求1到n的阶乘之和s
最基础的思路,是逐个求阶乘,并累加。不过由于阶乘是从1乘到n,所以每个数都单独求一次阶乘,会有很多重复运算,影响效率。
所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。
以此为主导,代码如下:
#include 《stdio.h》
int main()
{
int n, i, n1 = 1,s=0;
scanf(“%d“,&n);//输入n值。
for(i=1; i 《= n; i ++)
{
n1*=i;//计算i的阶乘。
s+=n1;//累加。
}
printf(“%d\n“, s);//输出结果。
}
C语言求1至n的阶乘和问题
私心想着好歹改改便可以给楼主交差,可一看程序,真真是不行滴~~,我只有给楼主多改了改,这次必定是极好的。至于如何防止溢出,尽量不要算那么大的数,应该就可以了吧,我碰到的溢出问题不多。程序如下,请笑纳~~~如果还有何疑问,请尽管问~~~
#include《stdio.h》
int
main()
{
int
i,j;
int
a,sum=0,n;
scanf(“%d“,&n);
for(i=0;i《n;i++)
{
for(j=1;j《=i+1;j++)
{
if(j==1)
a[i]=1;
else
a[i]*=j;
}
}
for(i=0;i《n;i++)
sum+=a[i];
printf(“%d\n“,sum);
return
0;
}
C语言求1~n阶乘的和
你那个do
while是要做什么呢?输入n为负数则循环输入???还是????
#include
《stdio.h》
long
Fact(int
n);///////////////////////////////////////////////////////函数定义在调用之前,要预先声明
void
main
()
{
int
n,d;
long
b,c;
do
{
printf(“请输入一个正整数:“);
scanf(“%d“,&n);
c=0;/////////////////////////////////////////////////////c=0放这边
for
(d=1;d《=n;d++)
{
b=Fact(d);////////////////////////////////////////Fact(n);改成Fact(d);
c=c+b;
}
printf(“和为%ld\n“,c);
}while
(n《=0);
}
long
Fact(int
n)
{
int
i;
long
result=1;
for
(i=1;i《=n;i++)
result
*=i;
return
result;
}
C语言求一到n的阶乘之和,n大于1小于等于16
#include 《stdio.h》
int main() {
__int64 fact = 1,i,sum = 0;
int n;
scanf(“%d“,&n);
for(i = 1; i 《=n; ++i) {
fact *= i;
sum += fact;
}
printf(“sum = %I64d\n“,sum);
return 0;
}
注意类型 必须是8字节的整形 用__int64或者用long long (编译器相关)
c语言求1/n的阶乘和
#include《stdio.h》
main()
{
int
i,n,
k
=
1
;
/*另设一个值来保存阶乘吧,i要用来循环*/
scanf(“%d“,&n);
for(i=1;i《=n;i++)
/*这里的分号去掉,不然下面一句没法循环=
=*/
k
*=
i;
printf(“%d“,k);
getch();
}
望采纳

更多文章:
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






