C++ 如何制作一个简单的程序来输出两个符号的金字塔:一个使用C+中的循环打印两次另一个+;?

C++ 如何制作一个简单的程序来输出两个符号的金字塔:一个使用C+中的循环打印两次另一个+;?,c++,loops,C++,Loops,我想: 我的尝试如下: *!! **!!!! ***!!!!!! // And so on. 它做了我需要它为第二个符号做的事情,但我不知道如何安排循环,以便第一个符号被输出所需的次数,而不是被第二个循环切断 您需要有cout您需要另一个循环来在主循环内打印a计数*符号 int main() { int a; int ex; for (a = 1; a <= 5; a++) // signifies the number of lines to print

我想:

我的尝试如下:

*!!
**!!!!
***!!!!!!
// And so on.

它做了我需要它为第二个符号做的事情,但我不知道如何安排循环,以便第一个符号被输出所需的次数,而不是被第二个循环切断

您需要有
cout您需要另一个循环来在主循环内打印a计数*符号

int main()
{
    int a;
    int ex;
    for (a = 1; a <= 5; a++) // signifies the number of lines to print
    {
        auto i = 1;
        while (i <= a) // prints * a times
        {
            cout<<"*";
            ++i;
        }
        for(ex =1; ex<= 2*a; ex++) // prints ! 2*a times
        {
            cout<<"!";
        }
        cout<<endl;
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;
int-ex;

对于(a=1;a您的代码中有一个小的逻辑错误,您只需在每个循环中打印一次'*'。请使用下面的代码

#include <iostream>
using namespace std;

int main()
{
    int a;
    int ex;
    for (a = 1; a <= 5; a++)
    {
        for(int i = 0; i < a; ++i)
        {
            cout<<"*";
        }
        for(ex =1; ex<= 2*a; ex++)
        {
            cout<<"!";
        }
        cout<<endl;
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
INTA;
int-ex;
对于(a=1;a另一种解决方案是:

#include <iostream>
using namespace std;

int main()
{
    int a;
    int ex;
    for (a = 1; a <= 5; a++)
    {
        cout<<std::string((a),'*');
        cout<<std::string((a*2),'!');
        cout<<endl;
    }
    return 0;
}
#包括
使用名称空间std;
int main(){
整数倍=5;
字符simbol1='*',simbol2='!';

对于(inti=1;iUm,在这行中,您没有
cout作为旁白,使用
for(inti=0;i<5;++i)更为惯用
-半开范围通常在左侧闭合,例如数组索引。循环迭代次数很高,这不是最佳代码,但您应该检查@pavan的下一个答案,这可能是更好的方法!
#include <iostream>
using namespace std;

int main()
{
    int a;
    int ex;
    for (a = 1; a <= 5; a++)
    {
        for(int i = 0; i < a; ++i)
        {
            cout<<"*";
        }
        for(ex =1; ex<= 2*a; ex++)
        {
            cout<<"!";
        }
        cout<<endl;
    }
    return 0;
}
#include <iostream>
using namespace std;

int main()
{
    int a;
    int ex;
    for (a = 1; a <= 5; a++)
    {
        cout<<std::string((a),'*');
        cout<<std::string((a*2),'!');
        cout<<endl;
    }
    return 0;
}
#include <iostream>
using namespace std;

int main(){
    int times = 5;

    char simbol1 = '*', simbol2 = '!';

    for(int i=1 ; i<=times ; i++){
        for(int k=0; k<i; k++) cout << simbol1;
        for(int j=0; j<i*2; j++) cout << simbol2;
        cout << endl;
    }

    return 0;
}