❶ poj1742 在VC6++上运行没问题,提交的时候提示Compile Error,大神能帮我看下吧,谢谢哈,感激不尽~~
现在来简单说一下你的程序的问题,编译错误的原因应该是POJ的编译器不支持_int64的原因,改为long long就可以了,格式控制符为lld。还有就是搞ACM用VC是一大忌,使用VC你会在以后你可能在比赛和学习中吃很大的亏。因为很多VC承诺的东西ACM认可的GCC和G++编译器都没有承诺。建议使用code blocks。还有就是修改完之后发现你的代码超时了,你仔细检查一下你的算法吧。如果对这道题算法有疑问,欢迎追问。
❷ poj提交时代码瞬间变成乱码,然后编译错误,该怎么办,求大神!!!
瞬间变成乱码那不是你的问题,,,那是网站把你的代码变成它可解读的形式,然后再提交的,
编译错误,仅仅是你的程序没写对而已
❸ poj 2491 求改错。。。编译都不通过
/*
这是VC6对STL支持不太好,要在#include<map>之前加入
#pragma warning(disable:4068)
#pragma warning(disable:4786)
*/
#pragma warning(disable:4068) //需加入预编译
#pragma warning(disable:4786) //需加入预编译
#include<iostream>
#include<map>
#include<string>
using namespace std;
//map<string,string> ms; //这个已在主程序中定义了
//map<string,int> mm;//这个已在主程序中定义了
int main()
{
int n,m;
string a,b,head,thehead;
map<string,string> ms;
map<string,int> mm;
cin>>n;
for(int x=1;x<=n;x++)
{
cin>>m;
for(int i=1;i<m;i++)
{
cin>>a>>b;
ms[a]=b;
mm[a]++;
mm[b]++;
}
map<string,int>::iterator it;
int index=0;
for(it=mm.begin();it!=mm.end();it++)
{
if((*it).second==1)
{
thehead=(*it).first;
if(ms[thehead].size()!=0)
index++;
if(index==1)
break;
}
}
cout<<"Scenario #"<<x<<":\n";
//printf("Scenario #%d:\n",&x);
for(int j=0;j<m;j++)
{
cout<<thehead<<endl;
thehead=ms[thehead];
}
ms.clear();
mm.clear();
}
return 0;
}
❹ 北大POJ 1005 一直编译错误!
你的代码中间有一些空格不被系统识别
我已经帮你转换好了
你复制我的代码就可以了
里面有个小错误,见注释
已经AC。
#include <iostream>
using namespace std;
int main()
{
double PI=3.14159265;
int n;
cin>>n;
for(int i=1;i<=n;++i)
{
double a, b;
cin>>a>>b;
double total=PI*(a*a+b*b)/2;
int year=0;
while(total > 0)
{
total-=50;
++year;
}
cout<<"Property "<<i<<": This property will begin eroding in year "<<year<<"."<<endl; // Property后面是i
}
cout<<"END OF OUTPUT."<<endl;
}
❺ 帮忙看看这段C++代码为什么在poj上编译出错
c语言中,sprintf函数在stdio.h头文件中。在c++中你可以选择包含stdio.h或者cstdio这两个头文件中的一个。
请参考:http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/
❻ 求助大神:poj104题 为什么过不了 显示编译错误
说呢abs这个函数没有定义,你是不是编译器选错了,windows上选C++,linux选G++,实在不行你自己定义一个abs
#define abs(a) ((a)>=0?(a):(-(a)))
❼ poj的1001问题一直编译出错,我在本地使用VC++一点问题都没有啊!往高手看看。。
C++98标准规定:for中定义的变量for(int i=0;i<=2;i++)只能在for中有效。
VC6太旧了,没有遵守C++98标准。
#include <stdio.h>
#include <string.h>
int main()
{
int a[150];
int pw,js=0,n;
char s[7];
memset(a,0,sizeof(a));
while(scanf("%s%d",s,&n)!=EOF);
{
int i; // 注意,要在这里定义i
for(i=0;i<=2;i++)
{
char ss=s[i];
s[i]=s[5-i];
s[5-i]=ss;
}
int j=0,flag=0,c=1;
for(i=0;i<=5;i++)
{
if(s[i]!='0')flag=1;
if((flag==1)&&(s[i]!='.')){a[j]=s[i]-48;js+=a[j++]*c;c*=10;}
else if(s[i]=='.')pw=j;
}
for(i=1;i<n;i++)
{
c=0;
for(j=0;j<150;j++)
{
int x=a[j]*js+c;
a[j]=x%10;
c=x/10;
}
}
pw*=n;
flag=0;
for(i=150;i>=0;i--)
{
if((a[i-1]!=0)||(i==pw))flag=1;
if(flag==1)
{
if(i>pw)printf("%d",a[i-1]);
if(i==pw)printf(".");
if(i<pw)printf("%d",a[i]);
}
}
}
return 0;
}
❽ java一个程序在eclipse上通过,在poj上说编译错误
文件名必须跟类名一样:String40188.java
你的现在应该是Main.java吧
❾ poj 1028题一直compile error,VC上正常编译
C++用string反正有点问题的,改用char数组试试。
还有在poj上做题的话,还是不要用VC了,很容易出现complie error,试试dev c或者codeblock吧,