时隔几十天,终于更新了第二篇博客(并不是没有学习哈哈哈),话不多说,今天在做联系的时候发现打印菱形的变形 即打印沙漏,一开始感觉很简单------直接面向结果编程(不是),仔细琢磨一番,发现其中别有一番耐人寻味的思想,特此记录下来,也希望对初入C语言学习的你带来帮助
题目如下:打印如下图形
仔细分析一下可发现该图形的有如下特点:
OK上半部分分析结束,我们把思想转换成代码打印一下:
成功了!!
其实下半部分的分析过程也是一样的,由于篇幅原因就不逐字分析了
要注意的是,下半部分开局是2个空格,故如果用i控制空格和行的话,i的初值应为2,因为三行,所以i>=0,然后i--(还是带着大家分析一下吧顺便巩固一下自己)
然后打印方面和上半部分是一样的,如果j<i,就打印空格,反之打印*
文章的最后放一下代码吧
希望大家共同努力进步,也欢迎大家补充交流。
//打印沙漏
int i = 0;
int j = 0;
//上半部分
for (i = 0; i <= 3;i++) {
for (j = 0; j < 7 - i;j++) {
if (j<i) {
printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
//下半部分
for (i = 2; i >= 0;i--) {
for (j = 0; j < 7 - i;j++) {
if (j < i) {
printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
展示