输入一个奇数,按照下列格式以*输出图形

img

img


#include <stdio.h>
void main(){
    int line; //总行数
    int mid;//上半部分的行数
    int star;//每行的星号数
    int i,j;
    printf("请输入行数(奇数):");
    scanf("%d",&line);
    mid = line/2+1;//上半部分的总行数
    for(i=1;i<=mid;i++){
        star = 2*i-1; //第i行星号个数 
        //打印星号
        for(j=1;j<=star;j++){
            printf("*");
        }  
        //换行
        printf("\n");
    }
    //打印下半部分 
    for(i=mid-1;i>=1;i--){
        star = 2*i-1; //第i行星号个数         
        //打印星号
        for(j=1;j<=star;j++){
            printf("*");
        }  
        //换行
        printf("\n");
    }     
     
}
 

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


#include<iostream>
using namespace std;

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

img


如有帮助,望采纳!谢谢!