小编gre*_*yk0的帖子

字母金字塔 C++

我是 C++ 初学者。我发现输入前的空格可以通过公式总行 - 当前行号来计算。但是,我无法弄清楚如何向后显示输入。我知道 C++ 不支持负索引。有人可以帮我吗?我真的很感激你的帮助。谢谢!

预期结果:

如果用户输入“ABCDEFG”,则您的程序应显示:

      A                                                                                                                
     ABA                                                                                                               
    ABCBA                                                                                                              
   ABCDCBA                                                                                                             
  ABCDEDCBA                                                                                                            
 ABCDEFEDCBA                                                                                                           
ABCDEFGFEDCBA
Run Code Online (Sandbox Code Playgroud)

我目前的结果:

      A
     ABC
    ABCDE
   ABCDEFG
  ABCDEFGAB
 ABCDEFGABCD
ABCDEFGABCDEF

Run Code Online (Sandbox Code Playgroud)

代码:

#include <iostream>

#include <string>

int main(){
    std::string user_input;
    std::cout << "Please enter something" << std::endl;
    std::cin >> user_input;
    size_t total_row = user_input.size();
    for(size_t row {1}; row <= total_row; row++){
        for(size_t blank {total_row-row}; blank >= 1; blank--)
            std::cout << " ";
        if ( total_row <= 1){
            std::cout << user_input;
        }
        else {
            for(size_t i {0}; i …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
408
查看次数

标签 统计

c++ ×1