11 条题解

  • 8
    @ 2022-8-17 21:49:09

    这一道题是嵌套循环,来看看吧~

    1. 首先是考虑到空格数量从大到小,所以外循环的值可以设为:n - 1 ~ 0
    2. 空格:打印出 1 ~ i 个空格
    3. 星号:可以先定义变量 s 先设为 3 然后就是从 1 ~ s,每次输出一个星号
    4. 记得输出换行并且把 s 加上 2 哦~

    上代码吧~(AC代码)

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, s = 3;
        cin >> n;
        for (int i = n - 1; i >= 0; i--)
        {
            for (int j = 1; j <= i; j++) cout << " ";
            for (int j = 1; j <= s; j++) cout << "*";
            cout << endl;
            s += 2;
        }
        return 0;
    }
    
    • 3
      @ 2024-1-30 9:59:34

      有时候函数就是好用呀~

      #include <iostream>
      using namespace std;
      void t(int n, int x)
      {
          for (int i = n; i >= 1; i--)
          {
              for (int j = 1; j <= i - 1; j++)
              {
                  cout << " ";
              }
              for (int j = 1; j <= x; j++)
              {
                  cout << "*";
              }
              x += 2;
              cout << endl;
          }
      }
      int main()
      {
          int n, x = 3;
          cin >> n;
          t(n, x);
          return 0;
      }
      
      • 1
        @ 2023-8-31 11:59:59

        过辣!

            int n;
            cin>>n;
            int a=n-1,b=3;
            for (int i=1;i<=n;i++)//行
            {
                for (int j=0;j<a;j++)cout<<" ";
                for (int j=0;j<b;j++)cout<<"*";
                cout<<endl;
                a--;
                b+=2;
            }
        

        时间复杂度被我降到了O(N)

        • 1
          @ 2023-8-30 9:51:24

          十分简单, 记得点赞!

          
          
          #include <iostream>
          using namespace std;
          int main()
          {
              int n,c=3;
              cin >> n;
              for (int i=n-1;i>=0;i--)
              {
                  for (int j=1;j<=i;j++)
                  {
                      cout << ' ';
                  }
                  for (int k=1;k<=c;k++)
                  {
                      cout << '*';
                  }
                  cout << endl;
                  c+=2;
              }
              return 0;
          }
          

          还不快快点赞!大威天龙🤟!🤘

          • 0
            @ 2023-12-18 20:43:01
            #include<iostream>
            using namespace std;
            int main(){
            	int n;
            	cin>>n;
            	for(int i=1;i<=n;i++){
            		for(int j=n;j>i;j--){
            			cout<<' ';
            		}
            		for(int j=1;j<=i*2+1;j++){
            			cout<<'*';
            		}
            		cout<<endl;
            	}
            	return 0;
            }
            
            • 0
              @ 2023-7-22 15:20:18
              #include <cstdio>
              using namespace std;
              int main(){
                  int n;
                  scanf("%d",&n);
                  for(int i=1;i<=n;i++){
                      for(int j=1;j<=n-i;j++)printf("%c",' ');
                      for(int j=1;j<=i*2+1;j++)printf("*");
                      printf("\n");
                  }
                  return 0;
              }
              
              • 0
                @ 2023-6-9 7:09:28

                与三角形不同的点是第二层循环中的第二个循环终止条件不是j2-1而是j2+1

                #include<bits/stdc++.h>
                using namespace std;
                int main()
                {
                    int n;
                    cin>>n;
                    for (int i=1;i<=n;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-3-12 16:51:50

                  话不多说,上代码

                  #include<iostream>
                  using namespace std;
                  int main(){
                      int n;
                      cin>>n;
                      int t=n;
                      int x=3;
                      for(int i=1;i<=n;i++){
                          for(int j=1;j<t;j++){
                              cout<<" ";
                          }
                          for(int j=1;j<=x;j++){
                              cout<<"*";
                          }
                          x+=2;
                          t--;
                          cout<<endl;
                      }
                      return 0;
                  }
                  
                  • 0
                    @ 2022-12-17 20:49:40
                    #include <bits/stdc++.h>
                    using namespace std;
                    int n;
                    int main()
                    {
                        cin>>n;
                        for(int i=1;i<=n;i++)
                        {
                            for(int j=1;j<=n-i;j++)
                            {
                                cout<<" ";
                            }
                            for(int j=1;j<=2*(i-1)+3;j++)
                            {
                                cout<<"*";
                            }
                            cout<<endl;
                        }
                        return 0;
                    }
                    
                    • 0
                      @ 2022-11-23 19:58:14

                      和之前的两道题差不多,都是用循环嵌套的方法完成,看看题解吧:

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

                      日常第一题,完成!

                      • -3
                        @ 2022-5-27 13:28:46

                        这道题很简单,使用循环嵌套完成,外层循环按行输出,循环体内两个for循环,分别输出每行的空格和星号即可;

                        外层循环:1~n

                        每行空格数:n-当前行数

                        每行星号:2*(i-1)+3

                        for (int i = 1; i <= n; i++) //输出n行
                            {
                                for (int j = 1; j <= n - i; j++) //每行的空格数:n-当前行
                                {
                                    cout << " ";
                                }
                                for (int j = 1; j <= 2 * (i - 1) + 3; j++) //每行的星号:2*(i-1)+3
                                {
                                    cout << "*";
                                }
                                cout << endl;
                            }
                        
                        • 1

                        【入门】字符图形5-星号梯形

                        信息

                        ID
                        70
                        时间
                        1000ms
                        内存
                        16MiB
                        难度
                        2
                        标签
                        递交数
                        542
                        已通过
                        353
                        上传者