acm_pku 1001代码纠正

pku上1001题,怎么就说结果错误呢?请高手指点。!。不管结果如何先谢谢了。原题:http://acm.pku.edu.cn/JudgeOnline/problem?i... pku上1001题,怎么就说结果错误呢?请高手指点。!。不管结果如何先谢谢了。
原题:http://acm.pku.edu.cn/JudgeOnline/problem?id=1001
另外我用的vs2005和dev c++都能编译通过,在pku上它的C++(vc6)和GCC都编译错误,只有G++能编译通过。是不是pku的编译器比较老啊。
#include<iostream>
#include<cstring>
using namespace std;
void separate_gi(string dr1,int* p,int* l,int& p_tra,int& l_tra)
{
int spyc=0;
while(dr1[spyc]!='.'&&spyc<dr1.size())
{
p[p_tra++]=dr1[spyc]-48;
spyc+=1;
}
//p_tra-=1;//!!
if(dr1[spyc]='.')
{
spyc+=1;
while(spyc<dr1.size())
{
l[l_tra++]=dr1[spyc]-48;
spyc+=1;
}
//l_tra-=1;
}
return;
}
main(){
string dr1;
int dr2;
cin>>dr1>>dr2;
if(dr2==0)
{cout<<1<<endl;system("pause");exit(1);}
if(dr1.size()>6)
{cout<<"to long"<<endl;exit(1);}
int dr1p[5],dr1l[5];
int lengthp=0,lengthl=0;
dr1p[0]=dr1l[0]=0;
separate_gi(dr1,dr1p,dr1l,lengthp,lengthl);
long dr1int=0;
int dr2int=0;
int store_A[127];
for(int tt=0;tt<128;tt+=1)
{store_A[tt]=0;}
for(int tt=0;tt<lengthp;tt+=1)
{dr1int=dr1int*10+dr1p[tt];store_A[lengthp+lengthl-1-tt]=dr1p[tt];}
for(int tt=0;tt<lengthl;tt+=1)
{dr2int=dr2int*10+dr1l[tt];store_A[lengthl-1-tt]=dr1l[tt];}
int ct=1;
for(int tt=1;tt<=lengthl;tt+=1)
ct*=10;
dr1int=dr1int*ct+dr2int;
ct=1;//幂计数
long carry=0;
int curln=lengthp+lengthl;
int pointloc=lengthl;
while(ct<dr2)
{
for(int tt=0;tt<curln;tt+=1)
{
carry+=store_A[tt]*dr1int;
store_A[tt]=carry%10;
carry/=10;
}
while(carry)
{
store_A[curln]=carry%10;
carry/=10;
curln+=1;
}
ct+=1;
pointloc+=lengthl;
}
cout<<endl;
for(int tt=curln-1;tt>=pointloc;tt-=1)
cout<<store_A[tt];
cout<<".";
for(int tt=pointloc-1;tt>=0;tt-=1)
cout<<store_A[tt];

system("pause");
}
那为什么G++可以呢?GCC怎么就不行呢?他不是说C++用的vc6的编译器么?
还有我刚涉及oj,以前看过些简单的算法设计教材,给我推荐点资料和心得吧。谢了!!
展开
 我来答
死人3
2009-01-15 · TA获得超过513个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:120万
展开全部
g++和C++都是C++的编译器,而c和gcc都是c的编译器,你用c++所以gcc 当然不过
dev c++能过的话g++就基本都过,g++比c++更接近标准
你这个的主函数前没int ,不符合老的标准,所以c++不过,加上的话c++就能过了
但g++是新的标准,可以通过
算法导论不错,前提是你数据结构方面已经精通
shibotian
2009-01-11 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:116万
展开全部
acm的东西都不能用string
只能用char,或者你自己编一个string类放里头
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式