尚在修改中,禁止转载!!!
#include<stdio.h>
int main()
{
char ch;
int x, y,i,j;
scanf("%c", &ch);
if (ch == 'A')
{
printf("请输入X值并满足X值大于等于3\n");
scanf("%d", &x);
for (i = 1; i <= x; i++)
{
if (i == 1) {
for (j = 1; j <= 2 * x - 1; j++)
{
if (j == x)
printf("*");
else
printf(" ");
}
printf("\n");
} else if (i == x / 2 + 1) {
for (j = 1; j <= 2 * x - 1; j++) {
if (j >= x / 2 + 1 && j <= 2 * x - 1 - (x / 2))
printf("*");
else
printf(" ");
}
printf("\n");
} else {
for (j = 1; j <= 2 * x - 1; j++) {
if (j == x - i + 1 || j == x + i - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
if(ch=='B')
{
printf("请输入X值和Y值并满足X值大于等于5,Y值大于等于3");
scanf("%d %d",&x,&y);
if (x % 2 == 0)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2 + 1 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
} else
{
for ( j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
}
if (ch == 'C')
{
printf("请输入X值和Y值并满足X大于等于3,Y大于等于2");
scanf("%d %d",&x,&y);
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else if (ch == 'D')
{
printf("请输入X值Y值并满足X为大于等于5的奇数 Y值为大于等于");
scanf("%d %d",&x,&y);
while (x % 2 == 1 && x >= 5)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x)
{
for (j = 1; j <= y - 1; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'E')
{
while(x>=5&&y>=2)
{
if (x % 2 == 0)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
} else {
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2 + 1 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
break;
}
}
else if (ch == 'F')
{
while(x>=4&&y>=2)
{
if(x%2==0)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2+1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
break;
}
}
else if (ch == 'G')
{
while (x >= 5 && y >= 5)
{
for (i = 1; i <= x; i++)
{
if (i == 1)
{
for (j = 1; j < y; j++)
printf("*");
printf("\n");
} else if (i == x / 2 + 1)
{
for (j = 1; j <= y; j++)
{
if (j >= y / 2 + 1 && j <= y || j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i > x / 2 + 1 && i <= x - 1)
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y || j == y - 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == x)
{
for (j = 1; j <= y; j++)
{
if (j >= 2 && j <= y - 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'H')
{
while(x>=3&&y>=3)
{
if (x % 2 == 0)
{
for (i = 1; i <= x; i++)
{
if (i == x / 2)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for (i = 1; i <= x; i++)
{
if (i == x / 2 + 1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
break;
}
}
else if (ch == 'I')
{
while(x>=3&&y>=3)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
if (y % 2 == 0)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
break;
}
}
else if (ch == 'J')
{
while (y >= 4 && x >= 4)
{
if (y % 2 == 0)
{
for (i = 1; i <= x; i++)
{
if (i == 1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
} else if (i == y - 1)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 || j == y / 2 - 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == y)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y / 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for (i = 1; i <= x; i++)
{
if (i == 1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else if (i == y - 1)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 1 || j == y / 2 - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == y)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
}
else if (ch == 'K')
{
while (x >=3&&y>=2&&x%2==1&&y==x/2+1){
for (i = 1; i <= x; i++) {
if(i==x/2+1)
{
for(j=1;j<=y;j++)
{
if(j==1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if(i>=x/2+2&&i<=x)
{
for(j=1;j<=y;j++)
{
if(j==1||j==i-x/2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if(i>=1&&i<=x/2)
{
for(j=1;j<=y;j++)
{
if(j==1||j==x/2-i+2)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'L')
{
for (i = 1; i <= x; i++)
{
if (i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else if (ch == 'M')
{
while (y == 4 * x - 3 && x >= 2)
{
for (i = 1; i <= y; i++)
{
if (i >= 1 && i <= x)
{
for (j = 1; j <= x; j++)
{
if (j == x - i + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i > x && i < 2 * x - 1)
{
for (j = 1; j <= x; j++)
{
if (j == i - x)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i >= 2 * x - 1 && i <= 3 * x - 2)
{
for (j = 1; j <= x; j++)
{
}
}
}
}
}
else if (ch == 'N')
{
while (x == y&&x>=3)
{
for(i=1;i<=x;i++)
{
if(i==1||i==x)
{
for(j=1;j<=y;j++)
{
if(j==1||j==y)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for(j=1;j<=y;j++)
{
if(j==1||j==y||j==i)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'O')
{
while(x>=4)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x)
{
for ( j = 1;j<=y;j++)
{
if(j>=2&&j<=y-1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'P')
{
while(x>=4&&y>=3)
{
if (x % 2 == 0)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i== x/2+1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else if (i >= 2 && i <= x / 2 )
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for ( i = 1; i <= x; i++)
{
if (i == 1 || i==x / 2 + 1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else if (i >= 2 && i <= x / 2)
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
break;
}
}
else if (ch == 'Q')
{
while (x >= 4 && y >= 5)
{
for (i = 1; i <= x; i++)
{
if (i == 1) {
for (j = 1; j <= y; j++)
{
if (j >= 2 && j <= y - 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == x)
{
for (j = 1; j <= y; j++)
{
if (j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == x - 1)
{
for (j = 1; j <= y; j++)
{
if (j >= 2 && j <= y - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == x - 2)
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y - 1 || j == y - 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y - 1 || j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'R')
{
while(x>=5&&y>=3&&x==2*y-1&&x%2==1)
{
for(i=1;i<=x;i++)
{
if(i==1||i==x/2+1)
{
for(j=1;j<=y;j++)
printf("*");
printf("\n");
}
else if(i>=2&&i<=x/2)
{
for(j=1;j<=y;j++)
{
if(j==1||j==y)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for(j=1;j<=y;j++)
{
if(j==1||j==i-y+1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'S')
{
while(x>=5&&y>=2)
{
if (x % 2 == 1)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x/2 + 1 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else if (i >= 2 && i <x/2+1)
{
for ( j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
else
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x / 2 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else if (i >= 2 && i < x / 2)
{
for (j = 1; j <= y; j++)
{
if (j == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
break;
}
}
else if (ch == 'T')
{
while(x>=2&&y>=3)
{
for ( i = 1; i <= x; i++)
{
if (i == 1)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y / 2)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'U')
{
while(x>=2&&y>=3)
{
for (i = 1; i <= x; i++) {
if (i == x) {
for ( j = 1; j <= y; j++)
printf("*");
printf("\n");
} else {
for ( j = 1; j <= y; j++) {
if (j == 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'V')
{
while (y == 2 * x - 1)
{
for (i = 1; i <= x; i++)
{
for ( j = 1; j <= y; j++)
{
if (j == i ||j==y-i+1)
printf("*");
else
printf(" ");
}
printf("\n");
}
break;
}
}
else if (ch == 'W')
{
while (y == 4 * x - 3)
{
for (i = 1; i <= x; i++)
{
if (i == 1)
{
for (j = 1; j <= y; j++)
{
if (j == 1 || j == y / 2 + 1 || j == y)
printf("*");
else
printf(" ");
}
printf("\n");
}
else if (i == x)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 2 - x || j == y / 2 + x)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 2 - i || j == y / 2 + i || j == i || j == y - i + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
break;
}
}
else if (ch == 'X')
{
while (y%2==1&&x==y&&x>=3)
{
for (i = 1; i <= x / 2; i++)
{
for (j = 1; j <= y; j++)
{
if (j == i && j == y - i + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
for (i = 1; i <= x - (x / 2 + 1); i++)
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 1 - i && j == y / 2 + 1 + i)
printf("*");
else
printf(" ");
}
printf("\n");
}
break;
}
}
else if (ch == 'Y')
{
while (2 * (x / 2) - 1 == y)
{
for (i = 1; i <= x; i++)
{
if (i >= 1 && i <= x / 2)
{
for (j = 1; j <= y; j++)
{
if (j == i && j == y - i + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y / 2 + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
}
else if (ch == 'Z')
{
while (x == y)
{
for (i = 1; i <= x; i++)
{
if (i == 1 || i == x)
{
for (j = 1; j <= y; j++)
printf("*");
printf("\n");
}
else
{
for (j = 1; j <= y; j++)
{
if (j == y - i + 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
}
return 0;
}