smartZhou


私信TA

用户名:smartZhou

访问量:1798

签 名:

刚注册不到一个月,多多关照!

排  名 65
经  验 4112
参赛次数 1
文章发表 92
年  龄 0
在职情况
学  校 T S university
专  业 计算机科学与技术

  自我简介:

题目描述:

计算t=1+1/2+1/3+...+1/n

保留六位有效小数。


解题思路:

令i从1到N;

把所有 1/i 加起来;

输出和,保留六位小数;


注意事项:

参考代码:

#include <stdio.h>
int main()
{
	int N;
	double i,sum=0;
	scanf("%d",&N);
	for(i=1; i<=N; i++)
	{
		sum+=1.0/i;
	} 
	printf("%.6lf",sum);
}

题目扩展:

计算t=1-1/2+1/3-1/4+1/5.....1/n

保留六位有效小数。


解题思路:

加一个正负标志flag。每次发生正负变换。

参考代码:

#include <stdio.h>
int main()
{
	int N,flag=1;
	double i,sum=0;
	scanf("%d",&N);
	for(i=1; i<=N; i++)
	{
		sum+=flag*(1.0/i);
		flag*=-1;
	}
	printf("%.6lf",sum);
}


  评论区