【问题标题】:I'm trying to add numbers to each new line我正在尝试将数字添加到每个新行
【发布时间】:2019-09-28 18:41:28
【问题描述】:

我正在尝试打印出一系列数字和*,它们根据用户提供的数字形成一个矩形。我设法用* 打印了一个矩形,但我不知道如何合并数字以打印出如下内容:

1*****
12****
123***
1234**
12345*
123456 

这就是我所拥有的:

#include <stdio.h>

int main{
    int i, j; 
    int num;

    printf("Enter a number from 1-9: ");
    scanf("%d", &num);

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

    return 0;
}

【问题讨论】:

  • 如果用户不友好地输入12,你应该输出什么? (哦,你说“输入一个数字 1-9”,但你没有检查他们输入的内容。)你需要一个循环来打印数字和一个循环来打印星号,然后输出换行符。在外部for 循环中,您需要两个连续的内部循环(或者如果您愿意,可以使用条件打印,但可能不太清楚。
  • 假设你将printf("*")替换为printf("%d", j),这会给你任何线索吗?

标签: c loops rectangles


【解决方案1】:

希望这会有所帮助!

#include <stdio.h>

int main(){
int i, j;
int num;

    printf("Enter a number from 1-9: ");
    scanf("%d", &num);

    for(i=1; i<=num; i++)
    {
        for(j=1; j<=i; j++)
        {
            printf("%d",j);
        }
        for(;j<=num;j++)
        {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

另外,为了在主循环中使用 2 个循环,您可以使用条件运算符来操作输出! 干杯! :)

【讨论】:

  • 你确定提供家庭作业解决方案真的有帮助吗?
  • 我只是想帮助那些可能是编程新手的人,以便他/她可以了解更多信息。我只花了大约 30 秒来修改该代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-28
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多