这个问题在这里已经有了答案:
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个循环来做到这一点。一个用于遍历要在一行上打印的字符,一个用于遍历整个高度(行数)。
所以我们想做的是:
例如
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/