C+基础题目,一个由user决定高度的由#组成的<马里奥的金字塔>

查看:112
本文介绍了C+基础题目,一个由user决定高度的由#组成的<马里奥的金字塔>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

目的是写出这样的一段儿,输入n,形成n高度的向右对齐的金字塔。
在输入一个有效数字后,我的代码如下:

//create the pyramid
for (row = 1; row <= height; row++)
{
    for (space = (height - row); space > 0; space--)
    {
        printf(" ");
    }
    
    for (hash = (height + 1); hash > 1; hash++)
    {
        printf("#");
    }
    
    printf("\n");
}

其中关于hash数量的语法错了。虽然有正确答案在手,可惜刚学两天根本看不懂我错在哪……
答案在这:

for (all_rows = 1; all_rows <= height; all_rows++) 
{
    for (space = (height - all_rows); space > 0; space--)
    {
        printf(" "); 
    }

    for (hash = 1; hash <= (all_rows + 1); hash++)
    {   
        printf("#"); 
    }

    printf("\n");
}
return 0;

希望大大们能为我解惑…!

解决方案

height是正整数吧。
hash = (height + 1),所以hash恒大于1。
for (hash = (height + 1); hash > 1; hash++)是个死循环(执行很多次直到hash溢出)。
建议在演算纸上单步执行计算,对比自己的程序和答案,这会大有帮助。

这篇关于C+基础题目,一个由user决定高度的由#组成的&lt;马里奥的金字塔&gt;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆