关于float和double
查看原帖
关于float和double
962324
Magiczzz楼主2023/3/8 22:01

开始我用的float有两个测试没过(应该是精度不够高,导致算不到后面的数),但是在devc++上面输出了结果(当然是错误结果),但是精度不够高,就跳不出循环啊,**怎么还有了错误输出呢?**是我在哪里理解错了吗?

后来把float改为double测试数据就都通过了

下面是错误代码


#include<iostream>

using namespace std;
  
int main()
  
{
  
	int n;
	cin>>n;
	float sum=0;
	int i=1;
	for(i=1;sum<=n;i++)
	{
		sum+=(1.0/i);	
	}
	cout<<i-1<<endl;
	return 0;
}
2023/3/8 22:01
加载中...