请编写程序,输入菱形的高,输出由星号勾勒出的菱形。
若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息。
对于菱形:
如图所示,首先我们可以先把空格显示出来,在显示星号,分成两部分,上半部分和下半部分。
如图所示,显示出上半部分,接着在显示下半部分就可以了。
#include <stdio.h>
void show(int n,char c);
void lingxing(int n);
int main()
{
int n;
scanf("%d",&n);
if(n%2!=0)
lingxing(n);
else
puts("Error!");
return 0;
}
void show(int n,char c)
{
int i;
for(i = 0;i<n;i++)
{
putchar(c);
}
}
void lingxing(int n)
{
int i,m;
m = n/2+1;
for(i = 1;i<=m;i++)//上半部分
{
show(m-i,' ');//空格
putchar('*');
show(2*i-3,' ');//中间的空格
if(i!=1)
putchar('*');
putchar('\n');
}
for(i = n-m;i>0;i--)
{
show(m-i,' ');
putchar('*');
show(2*i-m,' ');
if(i!=1)
putchar('*');
putchar('\n');
}
}
标签:putchar,show,int,void,空心,菱形,lingxing,编写 From: https://www.cnblogs.com/Yu3019code/p/17038260.html