浅滩


私信TA

用户名:bob2048

访问量:17590

签 名:

人傻就该多读书

等  级
排  名 584
经  验 4138
参赛次数 4
文章发表 32
年  龄 0
在职情况 学生
学  校
专  业 计算机科学与技术

  自我简介:

烦死了

解题思路:

注意事项:

在a行a+1列的字符数组中进行变换

注意1次循环的图形是缺少一个尾巴的,但是第二次输出的头就充当了上一个的尾巴,

所以加上了putS(ch[0]),在结束的时候也同样要加一个尾巴 



参考代码:转载@mirage915


#include<stdio.h>
int main()
{
    int n,a,b,i,j;
    char ch[40][40];
    scanf("%d",&n);
    while(n>0){
        scanf("%d%d",&a,&b);
        for(i=0;i<a-1;i++)// 把所有初始化为空格 
            for(j=0;j<a;j++)
                ch[i][j]=' '; 
        for(i=0;i<a-1;i++)//变更 X 
        {
            ch[i][i]='X';
            ch[i][a-i-1]='X';
            ch[i][a]='\0';//末尾结束符方便 puts() 输出 
        }
       for(j=0;j<b;j++) //循环输出
       {
       for(i=0;i<a-1;i++)
        puts(ch[i]);
   }
       puts(ch[0]);//最后的尾巴 
        printf("\n");
        n--;
    }
 
    return 0;
 }


 

0.0分

0 人评分

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

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区