#13970: 輸出判斷錯誤


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a746. 画蛇添足 | From: [114.136.66.48] | 發表日期 : 2018-05-22 11:31

*******************CODE 如下

#include <iostream>
#include <iomanip>

using namespace std;

int main(){
int A,B;
while(cin>>A>>B){
char Fence[A+2][A+2];
for(int i=0;i<=A+1;i++)
for(int j=0;j<=A+1;j++)
Fence[i][j]='\0';


for(int i=0;i<=A+1;i=i+(A+1))
for(int j=0;j<=A+1;j++)
{
Fence[i][j]='-';
Fence[j+1][i]='|';
}

int x1,y1,x2,y2;
for(int i=1;i<=B;i++)
{
cin>>x1>>y1;
if(i==1)
{
Fence[x1][y1]='*';
}
else if(x2==x1)
{
if(y1>y2)
{
for(int i=y2;i<=y1;i++)
Fence[x1][i]='*';
}
else
{
for(int i=y2;i>=y1;i--)
Fence[x1][i]='*';
}
}
else if(y2==y1)
{
if(x1>x2)
{
for(int i=x2;i<=x1;i++)
Fence[i][y2]='*';
}
else
{
for(int i=x2;i>=x1;i--)
Fence[i][y2]='*';
}
}
x2=x1;
y2=y1;

}

for(int i=0;i<=A+1;i++)
{
for(int j=0;j<=A+1;j++)
{
cout<<Fence[i][j];
}
cout<<endl;
}


}




}

 

您的答案為: |**|
正確答案為: |*  *|

我的code有填空格阿@@ 輸出就被吃掉了
 
#13971: Re:輸出判斷錯誤


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a746. 画蛇添足 | From: [114.136.66.48] | 發表日期 : 2018-05-22 11:40

*******************CODE 如下

#include
#include

using namespace std;

int main(){
int A,B;
while(cin>>A>>B){
char Fence[A+2][A+2];
for(int i=0;i<=A+1;i++)
for(int j=0;j<=A+1;j++)
Fence[i][j]='\0';


for(int i=0;i<=A+1;i=i+(A+1))
for(int j=0;j<=A+1;j++)
{
Fence[i][j]='-';
Fence[j+1][i]='|';
}

int x1,y1,x2,y2;
for(int i=1;i<=B;i++)
{
cin>>x1>>y1;
if(i==1)
{
Fence[x1][y1]='*';
}
else if(x2==x1)
{
if(y1>y2)
{
for(int i=y2;i<=y1;i++)
Fence[x1][i]='*';
}
else
{
for(int i=y2;i>=y1;i--)
Fence[x1][i]='*';
}
}
else if(y2==y1)
{
if(x1>x2)
{
for(int i=x2;i<=x1;i++)
Fence[i][y2]='*';
}
else
{
for(int i=x2;i>=x1;i--)
Fence[i][y2]='*';
}
}
x2=x1;
y2=y1;

}

for(int i=0;i<=A+1;i++)
{
for(int j=0;j<=A+1;j++)
{
cout<<Fence[i][j];
}
cout<<endl;
}


}




}

 

您的答案為: |**|
正確答案為: |*  *|

我的code有填空格阿@@ 輸出就被吃掉了


我把一開始初始化的'\0' 改成 ' ' 得到AC

*******************CODE 如下

#include <iostream>

#include <iomanip>

 

using namespace std;

 

int main(){

int A,B;

while(cin>>A>>B){

char Fence[A+2][A+2];

for(int i=0;i<=A+1;i++)

for(int j=0;j<=A+1;j++)

Fence[i][j]=' ';

 

 

for(int i=0;i<=A+1;i=i+(A+1))

for(int j=0;j<=A+1;j++)

{

Fence[i][j]='-';

Fence[j+1][i]='|';

}

 

int x1,y1,x2,y2;

for(int i=1;i<=B;i++)

{

cin>>x1>>y1;

if(i==1)

{

Fence[x1][y1]='*';

}

else if(x2==x1)

{

if(y1>y2)

{

for(int i=y2;i<=y1;i++)

Fence[x1][i]='*';

}

else

{

for(int i=y2;i>=y1;i--)

Fence[x1][i]='*';

}

}

else if(y2==y1)

{

if(x1>x2)

{

for(int i=x2;i<=x1;i++)

Fence[i][y2]='*';

}

else

{

for(int i=x2;i>=x1;i--)

Fence[i][y2]='*';

}

}

x2=x1;

y2=y1;

 

}

 

for(int i=0;i<=A+1;i++)

{

for(int j=0;j<=A+1;j++)

{

cout<<Fence[i][j];

}

cout<<endl;

}

 

 

}

 

 

 

 

}

 

 

 

 
#13972: Re:輸出判斷錯誤


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a746. 画蛇添足 | From: [114.136.66.48] | 發表日期 : 2018-05-22 11:46

*******************CODE 如下

#include
#include

using namespace std;

int main(){
int A,B;
while(cin>>A>>B){
char Fence[A+2][A+2];
for(int i=0;i<=A+1;i++)
for(int j=0;j<=A+1;j++)
Fence[i][j]='\0';


for(int i=0;i<=A+1;i=i+(A+1))
for(int j=0;j<=A+1;j++)
{
Fence[i][j]='-';
Fence[j+1][i]='|';
}

int x1,y1,x2,y2;
for(int i=1;i<=B;i++)
{
cin>>x1>>y1;
if(i==1)
{
Fence[x1][y1]='*';
}
else if(x2==x1)
{
if(y1>y2)
{
for(int i=y2;i<=y1;i++)
Fence[x1][i]='*';
}
else
{
for(int i=y2;i>=y1;i--)
Fence[x1][i]='*';
}
}
else if(y2==y1)
{
if(x1>x2)
{
for(int i=x2;i<=x1;i++)
Fence[i][y2]='*';
}
else
{
for(int i=x2;i>=x1;i--)
Fence[i][y2]='*';
}
}
x2=x1;
y2=y1;

}

for(int i=0;i<=A+1;i++)
{
for(int j=0;j<=A+1;j++)
{
cout<<Fence[i][j];
}
cout<<endl;
}


}




}

 

您的答案為: |**|
正確答案為: |*  *|

我的code有填空格阿@@ 輸出就被吃掉了


我把一開始初始化的'\0' 改成 ' ' 得到AC

*******************CODE 如下

#include

#include

 

using namespace std;

 

int main(){

int A,B;

while(cin>>A>>B){

char Fence[A+2][A+2];

for(int i=0;i<=A+1;i++)

for(int j=0;j<=A+1;j++)

Fence[i][j]=' ';

 

 

for(int i=0;i<=A+1;i=i+(A+1))

for(int j=0;j<=A+1;j++)

{

Fence[i][j]='-';

Fence[j+1][i]='|';

}

 

int x1,y1,x2,y2;

for(int i=1;i<=B;i++)

{

cin>>x1>>y1;

if(i==1)

{

Fence[x1][y1]='*';

}

else if(x2==x1)

{

if(y1>y2)

{

for(int i=y2;i<=y1;i++)

Fence[x1][i]='*';

}

else

{

for(int i=y2;i>=y1;i--)

Fence[x1][i]='*';

}

}

else if(y2==y1)

{

if(x1>x2)

{

for(int i=x2;i<=x1;i++)

Fence[i][y2]='*';

}

else

{

for(int i=x2;i>=x1;i--)

Fence[i][y2]='*';

}

}

x2=x1;

y2=y1;

 

}

 

for(int i=0;i<=A+1;i++)

{

for(int j=0;j<=A+1;j++)

{

cout<<Fence[i][j];

}

cout<<endl;

}

 

 

}

 

 

 

 

}

 

 

 

補充說明....

C++ 中'\0'和空格是同一个东西么

 

不是。

'\0'是字符串结束符,每个字符串末尾都有一个隐式的'\0',用来标识该字符串结束。
' ' 这个才是空格,肯定不是同一个东西。

//输出於萤幕是一样的
//但是本质的ascii code 是不一样的

 

 
ZeroJudge Forum