输出菱形(C语言,萌新向) | 您所在的位置:网站首页 › c语言中如何输出菱形 › 输出菱形(C语言,萌新向) |
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 实验室设备网 版权所有 |