gpt4 book ai didi

c - 如何在C语言中乘以一个字符串?

转载 作者:行者123 更新时间:2023-12-04 00:11:15 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Making a Hash Pyramid

(2 个回答)


5年前关闭。




我想用 int“乘以”一个字符串用户输入的变量。

#include <cs50.h>
#include <stdio.h>

// Height < 24

string block = "#";
string output;

int main(void) {
printf("Height: ");
int height = GetInt();
while (true) {
if (height < 24 && height > 0) {
output = "#" + block * height;
printf("%s\n", output);
break;

} else {
printf("Height: ");
height = GetInt();
}
}
return 0;
}

使用 Height变量 我想乘以字符串变量 block (#)来自 Height ,并将其添加到另一个 "#" .

我尝试以我认为有意义的唯一方式实现它,但语法似乎不正确。

我已经查看了有关此主题的 StackOverflow,并且只能找到带有此问题的 C# 和 C++ 主题。

编辑:打印后输出应如下所示:
       ##
###
####
#####
######
#######
########
#########

并且输出的“#”行取决于用户输入的 Height 变量。假设用户输入高度为“5”:
Height: 5
##
###
####
#####
######

应该是输出。

最佳答案

所以你需要2个循环来做到这一点。一个用于遍历要在一行上打印的字符,一个用于遍历整个高度(行数)。

所以我们想做的是:

  • 遍历从 1 到并包括高度的每一行。
  • 对于每一行,输出与当前行号一样多的#

  • 例如
     int lineno;
    int height = GetInt();
    ...
    for (lineno = 1; lineno <= height; lineno++) {
    int column;
    for (column = 0; column < lineno; column++) {
    putchar('#');
    }
    putchar('\n');
    }

    这将是一棵左调整树。我会让你自行调整它,即在“#”前面打印空格,或者先打印 2 个 # 而不是 1。

    关于c - 如何在C语言中乘以一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34677197/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com