7 条题解

  • 11
    @ 2022-8-18 7:26:23

    这一道题可以分为两个部分来打印

    1. 从第一行 ~ n + 1行
    2. 首先,把正星号三角形的代码搬过来
    3. 然后,把倒星号三角形的代码搬过来
    4. 最后,把 s 减去的值改为 1(因为这里 n 会比原来小 1)
    5. 然后运行代码试试吧~

    好了,看看代码吧(绝对AC)

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, s = 1;
        cin >> n;
        for (int i = n; i >= 0; i--)
        {
            for (int j = 1; j <= i; j++) cout << " ";
            for (int j = 1; j <= s * 2 - 1; j++) cout << "*";
            cout << endl;
            s += 1; 
        }
        s = n;
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= i; j++) cout << " ";
            for (int j = 1; j <= s * 2 - 1; j++) cout << "*";
            cout << endl;
            s -= 1;
        }
        return 0;
    }
    
    • 7
      @ 2022-12-17 16:36:20

      可直接复制提交;先素质点赞,再复制,上代码!

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n, s = 1;
          cin >> n;
          for (int i = n; i >= 0; i--)
          {
              for (int j = 1; j <= i; j++) 
              {
                  cout << " ";
              }
              for (int j = 1; j <= s * 2 - 1; j++) 
              {
                  cout << "*";
              }
              cout << endl;
              s += 1; 
          }
          s = n;
          for (int i = 1; i <= n; i++)
          {
              for (int j = 1; j <= i; j++) 
              {
                  cout << " ";
              }
              for (int j = 1; j <= s * 2 - 1; j++) 
              {
                  cout << "*";
              }
              cout << endl;
              s -= 1;
          }
          return 0;
      }
      
      • 1
        @ 2023-12-18 20:51:23
        #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;
        	}
        	for(int i=1;i<=2*n+1;i++){
        		cout<<'*';
        	}
        	cout<<endl;
        	for(int i=1;i<=n;i++){
        		for(int j=1;j<=i;j++){
        			cout<<' ';
        		}
        		for(int j=1;j<=2*n-2*i+1;j++){
        			cout<<'*';
        		}
        		cout<<endl;
        	}
        	return 0;
        }
        
        • 0
          @ 2023-7-22 15:17:31
          #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+1-i;j++)printf("%c",' ');
                  for(int j=1;j<=i*2-1;j++)printf("*");
                  printf("\n");
              }
              for(int i=1;i<=n*2+1;i++)printf("*");
              printf("\n");
              for(int i=1;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
            @ 2023-6-9 7:19:03
            #include<bits/stdc++.h>
            using namespace std;
            int main()
            {
                int n;
                cin>>n;
                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';
                }
                for (int i=n-1;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
              @ 2022-5-27 14:00:45

              这个菱形我们可以把它分为两部分,第一部分为前n+1行的正三角形,第二部分为行数为n的倒三角形,用两个循环嵌套输出这两部分即可。(正三角形、倒三角形前面题目有涉及到)

              //先输出正三角形
                  for (int i = 1; i <= n+1; i++)//行数为输入的n+1
                  {
                      for (int j = 1; j <= n+1 - i; j++) cout << " ";  //每行第一部分的空格
                      for (int j = 1; j <= 2 * i - 1; j++) cout << "*"; //每行第二部分的星号
                      cout << endl;
                  }
                  //输出行数为n的倒三角形
                  for (int i = n; i >= 1; i--) //行数从n-1开始,倒序输出,但实际上是从第一行输出的
                  {
                      for (int j = 1; j <= n+1 - i; j++) cout << " ";  //每行第一部分的空格
                      for (int j = 1; j <= 2 * i - 1; j++) cout << "*"; //每行第二部分的星号
                      cout << endl; //每输出完一行就换行
                  }
              
              • -1
                @ 2023-7-7 13:27:11

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

                • 1

                【入门】字符图形7-星号菱形

                信息

                ID
                72
                时间
                1000ms
                内存
                16MiB
                难度
                1
                标签
                递交数
                473
                已通过
                325
                上传者