清野 2023-02-18 21:44 采纳率: 83.3%
浏览 26
已结题

循环打印星号的问题。

img

img

img

为什么要写a=1?

img


后面两张中,最后一个循环,为什么加个c,加完c后的意义是什么?这种题还有更简单的做法吗?

  • 写回答

3条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-18 21:50
    关注

    基于Monster 组和GPT的调写:
    这几段代码都是打印一定数量的星号,但是它们的具体实现方式略有不同。

    对于第一段代码,它的逻辑是:首先定义a和b两个变量,分别表示当前打印到了第几个星号和第几行。然后在外层循环中,每次循环打印一行星号,并在最后换行。在内层循环中,打印当前行的星号,打印完成后a自增1,直到打印完当前行的所有星号。

    对于第二段代码,它的逻辑是:首先定义a和b两个变量,分别表示当前打印到了第几个星号和第几行。在外层循环中,每次循环打印一行星号,并在最后换行。在内层循环中,打印当前行的星号,打印完成后a自减1,直到打印完当前行的所有星号。

    对于第三段代码,它的逻辑是:首先定义a和b两个变量,分别表示当前打印到了第几个星号和第几行。在外层循环中,每次循环打印一行星号,并在最后换行。在内层循环中,先打印若干个空格,直到打印了当前行的起始位置,然后打印当前行的星号,打印完成后a自减1,直到打印完当前行的所有星号。

    关于你的问题,对于第一段代码和第二段代码,a=1和a=10的目的是重置a的值,确保在循环下一行时从正确的位置开始打印星号。

    对于第三段代码,c是一个计数器变量,它的作用是在打印当前行的空格时记录已经打印了多少个空格。当已经打印的空格数量小于b时,继续打印空格;否则就开始打印星号。打印完当前行的所有字符后,需要将a重置为1,以便在循环下一行时从正确的位置开始打印星号。

    至于更简单的实现方式,可以使用双层循环来打印星号。外层循环控制打印的行数,内层循环控制打印每行的星号数量。具体实现方式可以参考以下代码:

    for (int i = 1; i <= 10; i++) {
        for (int j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
    
    
    

    这段代码的逻辑非常简单明了,首先在外层循环中控制打印行数,然后在内层循环中控制每行打印的星号数量,最后输出

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月18日

悬赏问题

  • ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错