C ++使用For循环创建三角形

时间:2018-10-25 09:11:45

标签: c++ for-loop output

我有问题。

我使用了for循环,但无法解决此问题。

但是我只在左侧创建了2个三角形。如何创建对称的右侧三角形?

这是我的代码:

int main()
{
    int uzunluk = 5;

    for (int i = 0; i < 5; i++) 
    {
        for (int j = 0; j < uzunluk; j++)
        {
            cout << "*";
        }
        cout <<  endl;
        uzunluk--;
    }
    cout << endl;

    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j <= uzunluk; j++)
        {
            cout << "*";
        }
        cout << endl;
        uzunluk++;
    }
}

4 个答案:

答案 0 :(得分:0)

您的意思是:

for (int i = 0; i < 5; i++) 
{
    for (int j = uzunluk; j < 5; j++)
    {
       cout << " ";
    }
    for (int j = 0; j < uzunluk; j++)
    {
       cout << "*";
    }
    cout <<  endl;
    uzunluk--;
}

答案 1 :(得分:0)

您需要在三角形之间输出空格:

#include <iostream>
#include <math.h>
#include <functional>

inline double MyFunction(double a, double b, double c) {
    return (a + b + c);
}

inline void FunctionWrapper(std::function<double(double)> tempFunct, double value) {
    std::function<double(double)> funct;

    funct = tempFunct;

    std::cout << "result: " << funct(value) << std::endl;
}

int main()
{    
    double value = 100.0;

    FunctionWrapper([](double value) { return MyFunction(value, 1.0, 2.0); }, value);
    FunctionWrapper([](double value) -> double { return MyFunction(value, 1.0, 2.0); }, value);

    FunctionWrapper([value](double value) { return MyFunction(value, 1.0, 2.0); }, value);
    FunctionWrapper([value](double value) -> double { return MyFunction(value, 1.0, 2.0); }, value);
}

答案 2 :(得分:0)

这是您的解决方案:

#include<stdio.h>
#include<conio.h>

  void main()
{
     int i,n,j,x;
      clrscr();
      printf("\n ENTER A VALUE: ");
      scanf("%d",&i);
      for(n=i;n>0;n--)
      {
          for(j=1;j<=n;j++)
          printf(" * ");
          for(j=i-n;j>=1;j--)
          printf("      ");
          for(x=n;x>=1;x--)
          printf(" * ");
          printf("\n");
      }
     for(n=0;n<i;n++)
     {
         for(j=0;j<=n;j++)
         printf(" * ");
         for(j=i-n;j>=2;j--)
         printf("      ");
         for(x=n;x>=0;x--)
         printf(" * ");
         printf("\n");
     }
         getch();
 }

答案 3 :(得分:-1)

您可以尝试以下代码,并根据需要对其进行修改。但是,也可以练习使用格式化功能,例如outputstream的UIApplication.shared.keyWindow!.bringSubviewToFront(yourView)

setw