#include<stdio.h>
void main()
{
int n;
long sum();
scanf("%d",&n);
printf("sum=%ld\n",sum(n));
}
long sum(n)
int n;
{
int i:
long s=0,fac();
for(i=1;i<=n;i++)
s=s+fac(i);
return(s);
}
long fac(i)
int i;
{
if(i==0)
return(1);
else
return(i*fac(i-1));
}
Compiling...
函数求阶乘和.cpp
E:\C语言程序\函数求阶乘和.cpp(7) : error C2660: 'sum' : function does not take 1 parameters
E:\C语言程序\函数求阶乘和.cpp(10) : error C2065: 'n' : undeclared identifier
E:\C语言程序\函数求阶乘和.cpp(11) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
E:\C语言程序\函数求阶乘和.cpp(11) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
函数求阶乘和.exe - 1 error(s), 0 warning(s)
法/步骤
第一步、编程的第一步就是写头文件,对于初学者来说,只写一个头文件就可以了,即#include<stdio.h>
第二步、就是定义我们的变量,我们需要定义一个n,用来求他的阶乘,sum用来保存结果,i用来循环
第三步、就是把sum初始化,为1.千万不要为0,保证后面的结果不出问题。
第四步、就是输入一个n,用来求n的阶乘,别忘了在前面提示一下。
第五步、就是利用for循环来求阶乘。
第六步、就是调用printf(:);函数来输出阶乘结果。
拓展资料
定义
n!=1×2×3...xn
n!=X×(X-1)×(X-2)...×1
1751年,欧拉以大写字母M表示m阶乘 M=1x2x3...x...m
1799年,鲁非尼在他出版的方程论著述中,则以小写字母π表示m阶乘。而在1813年,高斯则以Π(n)来表示n阶乘。而用来表示n阶乘的方法起源于英国,但仍未能确定始创人是谁。直至1827年,由于雅莱特的建议而得到流行,现在有时也会以这个符号作为阶乘符号。
当n较大时,直接计算n!变得不可能,这时可通过斯特灵(Stirling)公式计算近似算或取得大小范围。
1 思路
关键是写出求阶乘的函数
2 代码
#include<stdio.h>//求阶乘
int factorial(int n){
if (n == 0 || n == 1)
return 1;
else
return n*factorial(n - 1);
}
int main(){
int n;
printf("求1!+2!+...+n!的结果\n输入n的值: ");
scanf("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++){
sum += factorial(i);
}
printf("结果为: %d\n", sum);
getchar();
getchar();
return 0;
}
3 运行效果
#include<stdio.h>
int main()
{
int num,product=1;
printf("请输入一个数:");
scanf("%d",&num);
for(int i=1;i<=num;i++)
{
product = product*i;
}
printf("阶乘是:%d\n",product);
return 0;
}
long sum(int n); // 声明
long fac(int i); // 声明
int main()
{
int n;
scanf("%d",&n);
printf("sum=%ld\n",sum(n));
return 0;
}
long sum(int n) // 形参写里面
{
int i;
long s=0; // 调用就行了
for(i=1;i<=n;i++)
s=s+fac(i);
return(s);
}
long fac(int i)
{
if(i==0)
return(1);
else
return(i*fac(i-1));
}本回答被提问者采纳
int main()
{
int i,t;
t=1;
i=2;
while (i<=10) //求1加到10的值
{t=t+i;
i=i+1;
}
printf("%d",t);
getchar();
}
可以把10改为100,即是1加到100的和..用while语句