一定要注意在求1/i时分子应该写成1.00,否则所算出的结果只是0.
下面的例子是输入一个数,求出使1/2+1/3+1/4.......小于所输入的数的最大i。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a;
int i;
while(cin>>a )
{
if(a==0.00)
break;
float sum=0;
i=1;
while(a>sum)
{
i++;
sum+=1.0/i;
}
cout<<i-1<<" card(s)"<<endl;
}
}