你可以采用循环的方法来做,需要输出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")//换行
}
}
int main()
{
int i,j,n
scanf("%d",&n)
for(i=0i<ni++)
{
for(j=0j<ij++)
{
printf(" ")
}
for(j=1j<=n-ij++)
{
printf("%d",j)
}
printf("\n")
}
return 0
}
打印图案有多种。
一、有规律的图形,比如正方形,菱形,圆 ......等等。这些都可以找图形规律(比如菱形上半部分依次下层比上层多2个字符),再通过简单的参数循环,用单一字符打印出来(printf就可以了)。这种比较简单,网上也有很多现成的代码可以参考,比如:【引用】c语言打印规则图形
二、复杂的图像,比如一张照片,可以写代码把图片转换成2值图(2值图就是把图片中每个像素用0或1数字矩阵来表示)然后再打印转换后的01矩阵,这个比较复杂,网上也有很多现成的转2值图代码。【引用】图片二值化程序
当然你也可以直接用网上工具把图片转换成字符图(就是贴吧里经常用的那种字符组成的图案),然后保存到文件中,c语言写读取文件打印。(或者直接把字符全部赋值到printf中打印,但这样就没啥意思了)。【引用】在线图片转字符画