北大acm第1003道

请高手先看一下我的程序,如果您能把我的程序运行一下并帮我找到为啥总是溢出,我就感激不尽了,会多点分给你。这是北大ACM第1003道题,其实算法啥的并不难,但我就是总溢出!... 请高手先看一下我的程序,如果您能把我的程序运行一下并帮我找到为啥总是溢出,我就感激不尽了,会多点分给你。这是北大ACM第1003道题,其实算法啥的并不难,但我就是总溢出!
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double a[5];
int b[5];
int k=0;
double sum;
int n;
for(int i=0;i<5;i++)
{
cin>>a[i];
sum=0;
for(n=2;n<=273;n++)
{
sum=sum+1/(double)(n);
if(a[i]<=sum)
{
b[k]=n-1;
k++;
}
}
}
for(int i=0;i<k;i++)
{
cout<<b[i]<<" "<<"card(s)"<<endl;
}
return 0;
}
恩,你的代码不错,但是我还是想让你帮我把这段代码看看,到底是哪里溢出了呢?还是我对本题理解有误?
展开
 我来答
xh176233756
2009-01-17
知道小有建树答主
回答量:15
采纳率:0%
帮助的人:10.5万
展开全部
你的代码从主函数开始就不符合POJ规范,这份代码可以AC,希望对你有帮助。

#include<stdio.h>

int main()
{
double c,cc;
int n,i;
while(scanf("%lf",&c) && c>1e-3)
{
cc = 0;
for (i = 0; cc < c; i++, cc += 1.0/(i+1));
printf("%d card(s)\n",i);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式