目录
一,空心正方形
请输出大小为n的空心正方形
输入
输入第一行一个整数T,代表接下来有T组测试数据。
接下来T行,每行有一个整数n.
数据范围:1≤T≤100,1≤n≤103.
输出
输出大小为n的空心正方形
#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==1||i==n||j==1||j==n)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
二,空心六边形
边长为n的空心正六边形,并连接三条长对角线
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
输入
输入第一行一个整数T,代表接下来有T组测试数据。
接下来T行,每行有一个整数n。
数据范围:1≤T≤20,1≤n<500,n为奇数.
输出
对于每一组测试数据,输出对应图案。输出格式与样例输出保持一致。
#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n*2-1;i++)
{
for(j=1;j<=n*4-3;j++)
{
if(i==n&&j%2||(i==1||i==n*2-1)&&(j>=n&&j<=n*3-2&&j%2)||i+j==n+1||i+j==3*n-1||i+j==5*n-3||i-j==-3*n+3||i-j==-n+1||i-j==n-1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
三,打印房子图形
现在给你一个三角形的高为h,底为2*h-1,正方形的边长为2*h-1,你需要打印一个三角形,并且在下面要加一个空心正方形
注意:三角形的底与正方形的上边是重合的。
输入
第一行输入一个整数T(1≤T≤100),表示接下来有T组测试数据。
对于每组测试数据,包含一个整数h(2≤h≤100),表示三角形的高。
样例输入
2 3 4
样例输出
* *** ***** * * * * * * ***** * *** ***** ******* * * * * * * * * * * *******
#include<stdio.h>
#include<string.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int h,j,x,y;
scanf("%d",&h);
for(int i=1;i<=h;i++)
{
for(int j=h-i;j>0;j--)
{
printf(" ");
}
for(int k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
x=2*h-1;
for(int i=1;i<=x-2;i++)
{
printf("*");
for(int j=1;j<=x-2;j++)
{
printf(" ");
}
printf("*\n");
}
for(int i=1;i<=x;i++)
printf("*");
printf("\n");
}
return 0;
}