输出菱形(C语言,萌新向) 您所在的位置:网站首页 c语言中如何输出菱形 输出菱形(C语言,萌新向)

输出菱形(C语言,萌新向)

2024-07-12 16:49| 来源: 网络整理| 查看: 265

C语言实现输出奇数行菱形图案

话不多说,源码如下🌝:

#include #define H 19//这里对H定义的数字必须为奇数,因为最长行只有一行,其他的关于其对称 //如果用scanf输入行数的话,最好加一个输入行数是否为奇数(或者是否有效)的判断 int main() { int line,times,blank,n; //第一阶段:正三角 n=(H+1)/2;//n为递增的行数,加一是因为递增行比递减行多一行,也就是最长的那行 for(line=1;line for(blank=n-line;blank>0;blank--)//反向递减 printf(" "); for(times=2*line-1;times>0;times--)//次数 printf("*"); printf("\n"); } return 0; }

我这个思路是先输出正三角,也就是最长行及以前的递增三角图案,可以先观察图形找规律,第一行一个星号,第二行三个星号,第三行五个星号……总结出星号个数与行数的关系通式是:

星号个数=2*行数-1

而输出星号之前,我们得把空格先输出了,而最长行的最中间那个星号的左边星号个数就是第一行空格的个数,所以第一行的空格数即

第一行的空格数=(最长行的星号个数-1)/2

也就是

第一行的空格数=(总行数H+1)/2-1

观察第二行空格数与第一行空格数的关系是

第二行的=第一行的-1

所以第二行就是

第一行的空格数=(总行数H+1)/2-1-1 =(总行数H+1)/2-2

同理,在递增的三角形部分中,每下一行的空格数都比上一行少一个,所以找出规律

第i行[i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有