你可以采用循环的方法来做,需要输出A的位置的时候就输出A,其他地方就输出空格,就行了
#include<stdio.h>
void main()
{
int i,j,n
printf("请输入要输出几行:\n")
scanf("%d",&n)
for(i=0i<=ni++)
{
for(j=0j<n-ij++)//每行前的空格控制
printf(" ")
for(int k=0k<=2*i-1k++)输出字母
{
if(k==0||k==2*i-2)输出A
printf("A")
else
printf(" ")
}
printf("\n")//换行
}
}
#include<stdio.h>
#include<stdlib.h>
char a[25][25],b[2]
int n
void fill()
{ int i,j,k
char *p=a[0]
for(k=0k<(n+1)/2k++)
{ for(i=0i<n-2*ki++)
{p=*(a+k)+k+i*25
for(j=0j<n-2*kj++)
*p++=b[k%2]
}
}
}
int main()
{ int i,j
scanf("%d %c %c",&n,&b[0],&b[1])
fill()
for(i=0i<ni++)
{ for(j=0j<nj++)
printf("%c",a[i][j])
printf("\n")
}
return 0
}
在C语言中要输出一个图案还是比较方便的,主要要看清楚它是由多少行组成的,然后外循环就循环多少次。在每一次的外循环中完成一行的输出,这时要看清楚他有没有几个空格,然后再输出指定的若干个字符。等到这一行输出完成以后就换行。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)