C++ 如何在奇数星星中制作星星金字塔?

C++ 如何在奇数星星中制作星星金字塔?,c++,C++,等如果你把它切成小块,它可能很简单 对于初学者来说,最好的策略是启动,那就是首先得到最小的部分,做最简单的事情,你不能分成更小的部分。然后一次“向上”一级,直到达到算法的“大视图”,该视图包含所有部分: 第一个“片段”:在一行上打印nstars:最简单的方法是使用std::string构造函数,该构造函数通过重复一个字符构造字符串并打印: std::cout试试这个 for (int line_index = 1; line_index <= 4; ++line_index) s

如果你把它切成小块,它可能很简单

对于初学者来说,最好的策略是启动,那就是首先得到最小的部分,做最简单的事情,你不能分成更小的部分。然后一次“向上”一级,直到达到算法的“大视图”,该视图包含所有部分:

  • 第一个“片段”:在一行上打印
    n
    stars:最简单的方法是使用
    std::string
    构造函数,该构造函数通过重复一个字符构造字符串并打印:
    std::cout试试这个

    for (int line_index = 1; line_index <= 4; ++line_index)
        std::cout << std::string(line_index * 2 - 1, '*') << '\n';
    
    #包括
    使用名称空间std;
    int main(){
    int i,j;
    
    对于(i=1;我很难理解这段代码应该做什么。你能编辑这个问题,以显示如果程序运行正常,输出应该是什么样子吗?@NathanPierson我做了一个编辑尝试,将
    i
    增加2,而不是1。你必须改变条件,但这应该很简单G增量。或使
    j
    的范围从
    1
    2*i-1
    而不是
    1
    i
    *
    ***
    *****
    ******
    
    for (int star_count = 1; star_count <= 7; star_count += 2)
        std::cout << std::string(star_count, '*') << '\n';
    
    for (int line_index = 1; line_index <= 4; ++line_index)
        std::cout << std::string(line_index * 2 - 1, '*') << '\n';
    
    #include<iostream>
    using namespace std;
    
    int main() {
    
    int i, j;
    
    for(i = 1; i <= 5; i++) {
        
        for(j =  1; j <= i*2-1; j++) { 
            
            cout<< "*";
        }
        
        cout<< endl;
    }
    
    return 0;