用得着6个FOR循环码?
//打印棱形字母
//注意abs(i)+abs(j)<=k
//用数学的角度分析(假设k为2)
//|x|+|y|<=k
//y<= 2 - x
//y<= x + 2
//y>= -x - 2
//y>= x - 2
#include
#include
int main(void)
{
int i,j,k;
char ch;
printf("请输入一个代写字母:");
scanf("%c",&ch);
k=ch-'A';
for(i=-k;i<=k;i++)
{
for(j=-k;j<=k;j++)
printf(abs(i)+abs(j)<=k ? "*" : " ");
printf("\n");
}
return 0;
}
不懂追问我
学过数学,自己画个图你就明白了