解题思路:

注意事项:

参考代码:

#include<stdio.h>


typedef struct DNA

{

int a;

int b;

}D;

D DA[1025];

void fun(int i)

{

int control,controls=1;  //controls==0,则control自减

int m;

int blank_number;

int j,DNA_number=0;


for(j=0,control=0; DNA_number<DA[i].b ; j++)

{


if(j==DA[i].a-1 || j==0)

{

for(m=1;m<=DA[i].a;m++)

{

if(m==1)

printf("X");

else if(m==DA[i].a)

printf("X\n");

else

printf(" ");


}

if(j==DA[i].a-1)

j=0,DNA_number++  ,  control=0;



controls=1;

control++;

}



else if(j==DA[i].a/2) //处理每个DNA中间的图像(只有一个x)

{

for(m=0;m<DA[i].a;m++)

{

if(m==DA[i].a/2)

printf("X");

else

printf(" ");

}


control--;controls=0;

printf("\n");

}



else

{

for(m=1;m<=control;m++)

{

printf(" ");

}

printf("X");

blank_number=DA[i].a-2*(control)-2;

for(m=1;m<=blank_number;m++)

printf(" ");

printf("X\n");


if(controls==0)

control--;

else if(controls==1)

control++;

}


}

}




int main()

{

int n,i=0;

scanf("%d",&n);

for(;i<n;i++)

scanf("%d %d",&DA[i].a,&DA[i].b);

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

fun(i),printf("\n");

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论