3095 - 2002年秋浙江省计算机等级考试二级C 编程题(2)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入一个正整数n.求1+1/2!+1/3!+....+1/n!

要求定义并调用函数fact(n)计算n的阶乘,函数返回值的类型是点单精度浮点型。

* 输出保留4位小数

题目输入

正整数n

题目输出

数列之和

输入/输出样例

输入格式

2

输出格式

1.5000

C语言解答

#include<stdio.h>
int main() {
        int i,n;
double item, sum;
        sum=0;
        item=1;
    scanf("%d",&n);
    for(i=1;i<=n;++i) {
        item=item/i;
        sum+=item;
    }
    printf("%.4f",sum);
    return 0;
    }

C++解答

#include<iostream>
#include<cstdio>
using namespace std;
float fact(int n)	//求阶乘
{
	float s=1;
	for (int i=1; i<=n; i++) s*=i;
	return s;
}
int main()
{
	int n;
	cin>>n;
	float sum=0;
	for (int i=1; i<=n; i++) sum+=1/fact(i);
	printf("%.4f\n",sum);
	return 0;
}