3095 - 2002年秋浙江省计算机等级考试二级C 编程题(2)
时间限制 : 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; }