#include<iostream>
using namespace std;
int main()
{
double sum=0,num,arr[100],temp;
int i,k=0;
cin>>num;
while(num!=0.00)
{
i=1,sum=0.00;
while(sum<=num)
{
temp=(1.00/(1.00+i++));
sum+=temp;
}
arr[k++]=i-1;
cin>>num;
}
for(i=0;i<k;i++)
cout<<arr[i]<<" card(s)"<<endl;
return 0;
}
在这题发现原来不一定要全部输入然后再全部输出,其实可以一条输入按了回车后就输出一条,这样的行为很像输入的时候是以空格结束输入,最后才一次性按回车完成全部输入,因此推断下zoj的输入是按照这种机制来检测的,至少行为上相似.这样就不必要再有arr来保存 答案,变量也可以相应减少定义.