我必须在c中执行代码,该代码打印出目标表模式。
So input for example:
3
1
2
3
and the output:
*
*****
* *
* * *
* *
*****
*********
* *
* ***** *
* * * *
* * * * *
* * * *
* ***** *
* *
*********
我做了几次尝试,但它不起作用,不能做中区 我已经完成了这个代码,并且1-2工作了,但我不能做2 +。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
int main()
{
int n,i,k;
int p=0;
int j=0,l=0;
int d=0;
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d",&k);
d=((4*k)-3)*((4*k)-3);
p=((4*k)-3);
for(j=0; j<p; j++)
{
if(j==0 || j==p-1)
{
for(l=0; l<p; l++)
printf("*");
printf("\n");
}
if(j==p/2+1)
{
for(l=0; l<p; l++)
{
if(l%2==0)
printf("*");
else printf(" ");
}
printf("\n");
}
if(j>0 && j<p/2)
{
for(l=0; l<p; l++)
{
if(l==0 || l==p-1)
printf("*");
else printf(" ");
}
printf("\n");
}
if(j>p/2 && j<p-1)
{
for(l=0; l<p; l++)
{
if(l==0 || l==p-1)
printf("*");
else printf(" ");
}
printf("\n");
}
}
}
return 0;
}
答案 0 :(得分:1)
https://www.facebook.com/video.php?v=653851844748299