*******************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有填空格阿@@ 輸出就被吃掉了
*******************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;
}
}
}
*******************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;
}
}
}
補充說明....
不是。
'\0'是字符串结束符,每个字符串末尾都有一个隐式的'\0',用来标识该字符串结束。
' ' 这个才是空格,肯定不是同一个东西。
//输出於萤幕是一样的
//但是本质的ascii code 是不一样的