用C语言打印以下图案 A BBB CCCCC DDDDDDD CCCCC BBB A
是打印成菱形吧?
#include<stdio.h>
void main(){
char c[4];
int i,j;
c[0]='A';
c[1]='B';
c[2]='C';
c[3]='D';
for(i=0;i<4;i++)
{
for(j=0;j<3-i;j++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("%c",c[i]);
printf("\n");
}
for(i=2;i>=0;i--)
{
for(j=0;j<3-i;j++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("%c",c[i]);
printf("\n");
}
是第一排排对齐的图形
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
这样?
你能做个样板出来不
#include<stdio.h>
void main()
{
int i,j,k;
int m=65;
for(i=0;i<4;i++)
{
for(j=0;j<4-i;j++)
printf(" ");//输出空格
for(k=0;k<(2*i+1);k++)
{
printf("%c",m);//利用‘A’=65,每次循环+1就变成B\C\D
}
m++;
printf("\n");
}
m--;//下面就是对称的输出
for(i=0;i<3;i++)
{
m--;
for(j=0;j<=i+1;j++)
printf(" ");
for(k=0;k<5-2*i;k++)
{
printf("%c",m);
}
printf("\n");
}
}
#include<math.h>
void main()
{
int i, j;
char c;
for(i = -3; i <= 3; i++){
c = 'D' - abs(i);
for(j = -3; j <= 3, j++){
if(c - abs(j) < 'A')
printf("%c", ' ');
else
printf("%c", c);
}
printf("\n");
}
}
这个是打成菱形了。
如果是第一排对齐
#include<stdio.h>
#include<math.h>
void main()
{
int i, j;
char c;
for(i = -3; i <= 3; i++){
c = 'D' - abs(i);
for(j = 0; j <= 6 - 2 * (‘D' - c), j++)
printf("%c", c);
printf("\n");
}
}
在里面更改下,加个判断语句将*改成abcd即可
void main(){
printf("A BBB CCCCC DDDDDDD CCCCC BBB A");
}
用循环语句不是直接打出图形输出
# include
void main(){char c='A';for(int i =1;i0; j--){
printf("%c",c); } c++; putchar(10);
}c=c-2;for(i=i-4;i0; j--){ printf("%c",c);
}
c--;
putchar(10);
}
}
没验证,好久不写C了