输入一个字符,用它构造一个边长为5的三角形圣诞树。
数据范围:保证输入的字符是一个 char 类型的值
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int flag = 0;
char n = 0;
n = getchar();
for (i = 0; i < 5; i++)//控制换行
{
//打印一整行
for (j = 0; j < 4 - i; j++)//打印前面的空格
{
printf(" ");
}
flag = 1;
for (j = 0; j < i * 2 + 1; j++)
{
if (flag == 1)
{
printf("%c", n);
flag *= -1;
}
else
{
printf(" ");
flag *= -1;
}
}
printf("\n");
}
return 0;
} #include<stdio.h>
#define LENGTH 5
void draw(char n);
int main(void)
{
char n;
scanf("%c", &n);
draw(n);
return 0;
}
void draw(char n){
// 外层循环控制三角形的层数,这里定义三角形的层数为5层,符号常量,方便修改
for(int i = 0; i < LENGTH; i++){
for(int k = 0; k < LENGTH - 1 - i; k++)
printf(" "); // 打印字符三角形前面的空格,第一行4,第二行3,...,末行0
for(int j=0; j <= i; j++){
printf("%c", n); // 循环打印字符三角形每行的字符
// 循环打印字符与字符之间的空格,如果是最后一个字符则后面不打印空格了
if(j != i)
printf(" ");
}
printf("\n"); // 每完成一行的打印,换行
}
} #include<stdio.h>
int main()
{
int a,i,j,m;
scanf("%d",&a);
for(i=0;i<5;i++)
{
for(j=0;j<4-i;j++)
{
printf(" ");
}
for(m=0;m<=i;m++)
{
printf("%d ",a);
}
printf("\n");
}
return 0;
}为什么把空格换成\t就不对了,想不通