南北西东


私信TA

用户名:heizilanjin

访问量:1328

签 名:

等  级
排  名 41961
经  验 314
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

把图看为i行j列的表格,当i==j或者i+j==a+1的时候打印X,其他时候打印空格,j==a的时候换行

有重复的时候就从表格的第二行开始打印,刚好打印(b-1)个

注意事项:

中间的X的条件是(i==j&&i+j!=a=1),不然会打印2个X



参考代码:

#include<iostream>

using namespace std;

void ppp(int a,int b)

{

int i,j,k;

for(i=1;i<=a;i++)

  for(j=1;j<=a;j++)

  {   

  if(i==j)

  {

      cout<<"X";

  }

  if(i+j==a+1&&i!=j)

    { 

   cout<<"X";

    }

  if(i!=j&&i+j!=a+1)   cout<<" ";

  if(j==a) cout<<endl;

 

  }

    for(k=1;k<=b-1;k++)

      for(i=2;i<=a;i++)

  for(j=1;j<=a;j++)

  {   

  if(i==j)

  {

      cout<<"X";

  }

  if(i+j==a+1&&i!=j)

    { 

   cout<<"X";

    }

  if(i!=j&&i+j!=a+1)   cout<<" ";

  if(j==a) cout<<endl;

 

  }

}

int main(){

int n;

cin>>n;

int a[n][2];

for(int i=0;i<n;i++)

{

cin>>a[i][0];

cin>>a[i][1];

    }   

for(int i=0;i<n;i++)

{

ppp(a[i][0],a[i][1]);

cout<<endl;

    }

return 0;

}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区