输入一个字符,用它构造一个边长为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就不对了,想不通