程序
测试结果
理解题意更重要,你要理解题目要你做什么,然后分步骤一步步实现。
这道题简单来说就是求1~n作为分母的阶乘的和。
大循环1~n
大循环里加入小循环,计算阶乘值,求倒数
计算倒数和
#include
int main() {
int n,i;
double sum=0,item=1;
scanf("%d",&n);/*读入n*/
for(i=0; i<=n-1; i++) {/*循环n次*
item/=i+1;/*计算每一项的值,第一项为1,第二项为1/2,第三项为1/2/3,依次类推*/
sum+=item;/*求和*/
}
printf("sn=%f",sum);/*输出sum*/
}
void main() { double s,t; int i,n;
scanf("%d",&n); s=0; t=1;
for ( i=1;i<=n;i++ ) { t/=i; s+=t; }
printf("%lf\n",s);
}
#include "stdio.h"
int main()
{
int i,n;
double sum = 0.0, last_fact = 1.0;
printf("请输入要计算前几项的和:");
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
sum += 1 / last_fact;
last_fact = last_fact * i;
}
printf("前%d项的倒数和为:%.10lf\n", n, sum);
int factorial( int n )
{
int f = 1;
for( int i =2; i <= n;++i)
f *= i;
return f;
}
void main()
{
int n;
printf("Please input a number:");
scanf("%d", &n );
double total = 1;
for( int i =2; i <=n; ++i)
total += 1.0 / (double) factorial( i );
printf("%f", total );
}