Dream。109 2021-11-01 15:18 采纳率: 90.9%
浏览 66
已结题

有两个不会写,初学者

img


3题和4题。

  • 写回答

2条回答 默认 最新

  • 关注
    
    #include <stdio.h>
    
    /*
        打印菱形
           *
          ***
         *****     
        *******
         *****
          ***
           *
        分析
        1.菱形一定是奇数行
        2.每一行的字符数是相等(星号+空格),等于总行数
        3.计算上面一半的星号的出现规律
            第n行星号个数=n*2-1 
            第n行的空格个数=(总行数-(n*2-1) )/2,每行只要打印左边空格
    */ 
    void main(){
        int line; //菱形的总行数
        int mid;//菱形上半部分的行数
        int star;//每行的星号数
        int space;//每行的空格数 
        int i,j;
        printf("请输入菱形的行数(奇数):");
        scanf("%d",&line);
        mid = line/2+1;//上半部分的总行数
        for(i=1;i<=mid;i++){
            star = 2*i-1; //第i行星号个数 
            space = (line-star)/2;//第i行星号左边的空格数 
            //打印空格 
            for(j=1;j<=space;j++){
                printf(" ");
            }
            //打印星号
            for(j=1;j<=star;j++){
                printf("*");
            }  
            //换行
            printf("\n");
        }
        //打印下半部分 
        for(i=mid-1;i>=1;i--){
            star = 2*i-1; //第i行星号个数 
            space = (line-star)/2;//第i行星号左边的空格数 
            //打印空格 
            for(j=1;j<=space;j++){
                printf(" ");
            }
            //打印星号
            for(j=1;j<=star;j++){
                printf("*");
            }  
            //换行
            printf("\n");
        }     
         
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月3日
  • 已采纳回答 11月1日
  • 创建了问题 11月1日

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序