7 条题解

  • 3
    @ 2022-8-18 7:20:18

    这一道题已经很简单了,同样的,画图形都是找规律

    1. 首先因为考虑到空格数量从 0 开始到 n - 1,所以外循环的值为 0 ~ n - 1
    2. 空格:从 1 ~ i(如果 i 是 0 的话不会循环)
    3. 星号:众所周知,上上上题也是画星号三角,我们总结出来的规律是:1 ~ s * 2 - 1
    4. 最后记得输出换行并且将 s 减去 2 哦(倒三角所以是减法)

    好了,来看看代码吧~(AC过)

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        int s = n;
        for (int i = 0; i <= n - 1; i++)
        {
            for (int j = 1; j <= i; j++) cout << " ";
            for (int j = 1; j <= s * 2 - 1; j++) cout << "*";
            cout << endl;
            s -= 2;
        }
        return 0;
    }
    
    • @ 2022-8-22 14:07:03

      代码错啦...

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n,k;
          cin >> n;
          k = 0;
          for (int i = n;i >= 1;i --)
          {
              for (int j = 1;j <= k;j ++)
              {
              cout << " ";
              }
              for (int j = 1;j <= 2 * i - 1;j ++)
              {
                  cout << "*";
              }
              cout << endl;
              k ++;
          }
          return 0;
      }
      
    • @ 2022-8-30 16:58:15

      s -= 1 并非 s -= 2

    • @ 2024-5-25 9:10:05
      你最后一步错了
      #include<iostream>
      using namespace std;
      int main(){
          int n;
          cin >> n;
          int s = n;
          for(int i = 0;i <= n-1;i++){
              for(int j = 1;j <= i;j++)
                  cout << " ";
              for(int j = 1;j <= s*2-1;j++)
                  cout << "*";
              cout << endl;
              s--;
          }
          return 0;
      }
      
  • 2
    @ 2022-11-23 20:02:56

    又是一道循环嵌套,一起看看吧:(AC过的~)

    #include <bits/stdc++.h>
    using namespace std;
    int x, y;
    
    int main()
    {
        cin >> x;
        for (int i = x; i >= 1; i--)
        {
            for (int j = 1; j <= y; j++)
            {
                cout << " ";
            }
            for (int j = 1; j <= 2 * i - 1; j++)
            {
                cout << "*";
            }
            cout << endl;
            y++;
        }
        return 0;
    }
    

    日常第二题,完成!

    • 1
      @ 2023-8-31 16:31:47

      过辣!

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n,a=1,b=0;
          cin>>n;
          for (int i=1;i<n;i++)a+=2;
          for (int i=1;i<=n;i++)
          {
              for (int j=1;j<=b;j++)cout<<" ";
              for (int j=1;j<=a;j++)cout<<"*";
              cout<<endl;
              a-=2;
              b++;
          }
          return 0;
      }
      
      • 1
        @ 2023-6-9 7:12:23

        将第一层循环倒着循环就可以了

        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
            int n;
            cin>>n;
            for (int i=n;i>=1;i--)
            {
                for (int j=1;j<=n-i;j++)
                    cout<<" ";
                for (int j=1;j<=i*2-1;j++)
                    cout<<"*";
                cout<<'\n';
            }
            return 0;
        }
        • 0
          @ 2023-11-14 22:22:25

          真AC代码

          #include <bits/stdc++.h>
          using namespace std;
          int main()
          {
              cout<<"***********"<<endl;
              cout<<" *********"<<endl;
              cout<<"  *******"<<endl;
              cout<<"   *****"<<endl;
              cout<<"    ***"<<endl;
              cout<<"     *"<<endl;
              return 😄 ;
          }
          

          或者这样(可复制)

          
          #include <bits/stdc++.h>
          using namespace std;
          int main()
          {
              int n;
              cin>>n;
              for(int i=0;i<n;i~~~~++)
              {
                  for(int j=0;j<i;j++)
                  {
                      cout<<" ";
                  }
                  for(int j=0;j<2*n-1-2*i;j++)
                  {
                      cout<<'*';
                  }
                  cout<<endl;
              }
          return 0;
          }
          • 0
            @ 2023-7-22 18:28:07
            #include <cstdio>
            using namespace std;
            int main(){
                int n;
                scanf("%d",&n);
                for(int i=0;i<n;i++){
                    for(int j=1;j<=i;j++)printf("%c",' ');
                    for(int j=1;j<=n*2-1-i*2;j++)printf("*");
                    printf("\n");
                }
                return 0;
            }
            
            • 0
              @ 2022-5-27 13:48:32

              这道题就是让输出倒正三角形,前面写过正三角形,在这个的代码基础上,将外层循环范围改为n~1即可。

              for (int i = n; i >=1; i--) //行数从n开始,倒序输出,但实际上是从第一行输出的
                  {
                      for (int j = 1; j <= n - i; j++) cout << " ";  //每行第一部分的空格
                      for (int j = 1; j <=2*i-1 ; j++) cout << "*"; //每行第二部分的星号
                      cout << endl; //每输出完一行就换行
                  }
              
              
              • 1

              【入门】字符图形6-星号倒三角

              信息

              ID
              71
              时间
              1000ms
              内存
              16MiB
              难度
              3
              标签
              递交数
              661
              已通过
              354
              上传者