题目:编写一个C语言程序,输入一个自然数n,打印一个宽和高均为2*n+1的空心菱形,菱形的边界用 * 显示,其余部分使用 . 来填充。
分析:打印一个宽和高均为2n+1的空心菱形,我们可以先打印2n+1行,每一行再打印2*n+1个点或星。技巧:从n数到-n的值等于2×n+1。示例:
4×2+1=9.
接下来我们要思考每一行要做什么,技巧:从题目示范图可以看出(首尾行
需要在m+1的位置输出一个星号)但中间行就要输出两个星号,而且两个星号之间的距离从一开始逐次加二直到该值等于2×n-1,再依次递减2直到等于1。
具体细节请看代码:
#include<stdio.h>
int main() {
int n,m,b=0;//b是两个星号距离的增量
scanf(