所以,我有一个简单的C程序,它应该输出越来越少的空格,以及我的新行中越来越多的hashmarks。以下是我用来尝试完成此操作的代码:
for(x = 0; x < n; x++) {
for(y = n - 1; y > 0; y--) {
printf(" ");
}
for(int z = 2; z < n + 2; z++) {
printf("#");
}
printf("\n");
}
我希望,基于这样倒计时的代码,我应该看到如下输出:
##
###
然而,当我运行我的代码时,我得到了一致的输出:
###
###
关于我的for循环中哪里出错可能导致此问题的任何想法?
答案 0 :(得分:3)
下面:
#
##
###
结果:
{{1}}
答案 1 :(得分:1)
以最简洁的方式做到这一点。 2个循环:
0
到max MINUS row number
0
到max MINUS number of space
代码:
int main() {
int n =10;
int x, y, z;
for(x = 0; x < n; x++) {
for(y = 0; y < n - x - 1; ++y) {
printf(" ");
}
for(z = 0; z < n - y; ++z) {
printf("#");
}
printf("\n");
}
return 0;
}
您将获得结果:
#
##
###
####
#####
######
#######
########
#########
##########