【问题标题】:Why is the value of function j not decrementing? [closed]为什么函数 j 的值不递减? [关闭]
【发布时间】:2016-04-03 14:12:14
【问题描述】:

我一直在尝试将输出作为 --

*****

****

***

**

*

在单独的行中,但 Xcode 在每一行中显示 5 颗星。如何获得函数 j 的递减值?

#include <stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=5;i++)
    {
        for(j=5;j>=1;j--)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

【问题讨论】:

  • 请发布代码,而不是屏幕截图(实际上更容易)。
  • int main(); {int i,j; for(i=1;i=1;j--) { printf("*");} printf("\n"); } 返回 0; }
  • 不,编辑您的问题。这不再可读。
  • 您的代码中没有函数j。无论如何,函数将如何递减?你的意思是 变量 j?

标签: c xcode computer-science


【解决方案1】:

我想你想要的是

for(j = (5-i+1);j >= 1;j--)

【讨论】:

  • 这个错误。它会颠倒打印图案。
【解决方案2】:

您在设置嵌套 for 循环时犯了一个错误。计数器 j 应该从 5-i+1 开始。

【讨论】:

    【解决方案3】:

    改变

    for(j = 5;j >= 1; j--)
    

    for(j = 5;j >= i; j--)  
    

    Demo

    【讨论】:

      【解决方案4】:

      您的代码有点反直觉;你应该让外循环保存你想要在那条线上的星数,而内循环保存当前的星数:

      for (int stars = 5; stars > 0; stars--) {
          for (int count = 0; count < stars; count++) {
              printf("*");
          }
          printf("\n");
      }
      

      (一般用&gt; 0代替&gt;= 1)。

      【讨论】:

        猜你喜欢
        • 2018-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-07
        • 1970-01-01
        • 1970-01-01
        • 2021-10-22
        • 1970-01-01
        相关资源
        最近更新 更多