一·简单概述
在屏幕上打印输出输出菱形
二·解题思路
菱形的形状在代码输出部分,经过对行列的分析可知,这个菱形总共有13行,
中间列为7,如果一次性打印输出整个菱形会比较麻烦,所以我们可以先打印上半部分(前面7行)然后再打印后面6行。
而菱形是由 空格,“*”,两部分组成 因为空格在“*”所以我们可以用一个while(){} 循环先打印空格,在用一个while循环打印“*” 下半部分也一样。
三·代码展示
//在屏幕上打印输出输出菱形
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
int line = 0, row = 0;//line 行,row 列
int temp = 0;
for (line = 1; line <= 7; line++) {//先打印前面7行,上半部分菱形
while (temp<7-line) {//打每行空格
printf(" ");
temp++;
}
temp = 0;//一定要重置 temp临时变量
while (row<2*line-1) {//打印每行 * 1 3 5 7 9.....
printf("*");
row++;
}
printf("\n");//每行打印完了记得换行 \n
row = 0; //重置row
}
for (line = 6; line > 0;line--) { //下半部分
temp = line;
while (7-temp>0) {//打印空格
printf(" ");
temp++;
}
while (2*line-1>row) {//打印每行 *
printf("*");
row++;
}
printf("\n");
row = 0;
}
return 0;
}
输出结果:
四·总结
对于图像打印主要关注 行与列的关系
在打印每行的时候 使用while循环语句时 对while条件的判断 一般情况下都会与列相关。