❶ 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吧,