解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
void DNA(int n)
{
int i,j,k;
//奇数
if(n%2!=0)
{
//上半部分
for(i=n/2;i>=1;i--)
{
//空格
for(j=1;j<=n/2-i;j++)
printf(" ");
printf("X");
//空格
for(j=1;j<=((i-1)*2+1);j++)
printf(" ");
printf("X");
printf("\n");
}
//中间
for(i=1;i<=n/2;i++)
printf(" ");
printf("X");
printf("\n");
//下半部分
for(i=n/2;i>=1;i--)
{
//空格
for(j=1;j<=i-1;j++)
printf(" ");
printf("X");
//空格
for(j=1;j<=((n/2-i)*2+1);j++)
printf(" ");
printf("X");
printf("\n");
}
}
//偶数,只改动中间层,其他的一样
else
{
//上半部分
for(i=n/2-1;i>=1;i--)
{
//空格
for(j=1;j<=n/2-1-i;j++)
printf(" ");
printf("X");
//空格
for(j=1;j<=((i-1)*2+2);j++)
printf(" ");
printf("X");
printf("\n");
}
//中间
for(i=1;i<=n/2-1;i++)
printf(" ");
printf("XX\n");
for(i=1;i<=n/2-1;i++)
printf(" ");
printf("XX\n");
//下半部分
for(i=n/2-1;i>=1;i--)
{
//空格
for(j=1;j<=i-1;j++)
printf(" ");
printf("X");
//空格
for(j=1;j<=((n/2-1-i)*2+2);j++)
printf(" ");
printf("X");
printf("\n");
}
}
}
int main()
{
int n,a,b;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&a,&b);
while(b--)
{
DNA(a);
}
printf("\n");
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1419 |
简单的a+b (C语言代码)浏览:335 |
用筛法求之N内的素数。 (C语言代码)浏览:664 |
C二级辅导-阶乘数列 (C语言代码)浏览:508 |
单词个数统计 (C语言代码)浏览:1009 |
C二级辅导-公约公倍 (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题8.3 (C++代码)浏览:502 |
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:908 |
字符串的修改 (C++代码)浏览:2873 |