所以,目标是把“n”字母放在“n”行中,n是迭代的大小但意外的结果出现了。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
main() {
int tam;
char letra = 'A';
printf("Tree size?\n");
scanf("%d", &tam);
for (int i = 0; i < tam +1; i++){
for (int j = 0; j < i+1; j++)
{
if (j < i)
printf("%c", letra);
}
letra = (char)((int)letra + 1);
printf("\n");
}
}
预期产出:
A
BB
CCC
.
.
.
我得到的是:
B
CC
DDD
.
.
.
我试图放置另一个printf,如果在输出外面是“a”如预期,但是在for里面它纠正了字母问题,并在树大小上再添加一行。
示例-(树大小:3 A BB CCC DDDD)
怎么了?
最佳答案
你不是在打印第一个字母
if (j < i)
你说:
0 < 0
,而且您的树大小将不正确,因为第一个循环达到i + 1
,以下是正确的代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
main() {
int tam;
char letra = 'A';
printf("Tree size?\n");
scanf("%d", &tam);
for (int i = 0; i < tam; i++, ++letra){
for (int j = 0; j < i+1; j++)
{
printf("%c\n", letra);
}
}
}