用C语言实现打印一个空心的菱形,菱形的高度由用户输入。
/*
函数的功能是打印一个空心的菱形,菱形的总高度由用户输入
根据菱形的特性,高度应该是一个奇数,如果输入偶数,根据程序的
算法,是将该偶数加1作为新的高度来打印菱形
*/
#include<stdio.h>
#include<stdlib.h>
int main(void){
int n;
printf("请输入要打印的菱形的高度:\n");
printf("(高度应该为奇数,如若是偶数则自动在该数值上面加1作为打印的高度)\n");
scanf("%d",&n) ;
for(int i=1;i<=n/2+1;i++){ //先打印菱形的上半部分,此时包含了中间的那一部分由n/2+1来体现
for(int j=1;j<=n/2+1-i;j++){ //根据每一行i来决定要打印的空格数
printf(" ");
}
printf("*"); //打印完空格后,打印第一个*
if((2*i-3)<1){ //根据行数i判断该行有没有必要打印第二*,如果有的话判断值应该是大于等于1;如果没有则直接换行并继续循环
printf("\n");
continue;
}
for(int j=0;j<(2*i-3);j++){ //根据行数i判断要打印的中间的空格,打印完之后,再打印最后的*