求指点,该如何写代码?

img
试了好久都写不出来,求指点。

求采纳

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


刚写的,通过修改n就可以控制图形大小,望采纳

#include <bits/stdc++.h>
using namespace std;

int main(){
    int n = 3;
    
    for (int i = n, i2 = 1; i >= 1; --i, ++i2) {
        for (int j = 1; j <= i; ++j) {
            cout << " ";
        }
        for (int j = 1; j <= 2*i2 - 1; ++j) {
            cout << "*";
        }
        cout << endl;
    }
    
    for (int i = 1; i <= 2*n + 1; ++i) {
        cout << "*";
    }
    cout << endl;
    
    for (int i = n, i2 = 1; i >= 1; --i, ++i2) {
        for (int j = 1; j <= i2; ++j) {
            cout << " ";
        }
        for (int j = 1; j <= 2*i - 1; ++j) {
            cout << "*";
        }
        cout << endl;
    }
    return 0;
}

供参考:

#include<stdio.h>
int main()
{
  int i,j,n=4;
  //scanf("%d",&n);
  for(i=0;i<n;i++)
  {
      for(j=i;j<n;j++)
          printf(" ");
      for(j=0;j<2*i+1;j++)
          printf("*");
      printf("\n");
  }
  for(i=n-2;i>=0;i--)
  {
      for(j=i;j<n;j++)
          printf(" ");
      for(j=0;j<2*i+1;j++)
          printf("*");
      printf("\n");
  }
  return 0;
}