1478 - 《C语言程序设计》江宝钏主编-习题6-3-倒数数列

编写程序计算并输出

s=∑k=1n1/k=1+1/2+1/3+............+1/n 的值。

要求定义并调用函数total(n)计算1+1/2+1/3+......+1/n

注意:此题的main函数如下所示:


int main(){

 int n;

 scanf("%d",&n);

 printf("%.3lf\n",total(n));

return 0;

}

题目输入

正整数n,表示前n项求和

题目输出

s,表示前n项的和

输入/输出样例

题目输入

2

题目输出

1.500

提示

函数原型double total(int n)

1/2=0  1.0/2=0.5

C语言解答

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

C++解答

#include<iostream>
#include<cstdio>
using namespace std;
double total(int n)
{
	double s=0;
	for (int i=1; i<=n; i++) s+=1.0/i;
	return s;
}
int main()
{
	int n;
	cin>>n;
	printf("%.3lf\n",total(n));
	return 0;
}

提示

函数原型double total(int n)

1/2=0  1.0/2=0.5

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题