当n=5时,沙漏图形如输出样例所示。请观察并明确沙漏图形的规律。要求输入一个整数n,输出满足规律的沙漏图形。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个整数n(1<n<20)。
输出格式:
对于每组测试,输出满足规律的沙漏图形。
输入样例:
5
输出样例:
*********
*******
*****
***
*
***
*****
*******
*********
这个循环就有些麻烦了我们分为上下两个半区来分别操作
每个半区都是for{1 for{2} for{3} }
for1: 行数
for2:空格
for3:****数目
这样就很好理解了,当然了最重要的就是,耐心书写,同时注意 空格 和**的变化规律。
话不多说反手上代码;
#include<stdio.h>
int main()
{
int a,o,w,i,n=1,x,z,b,c,y;
while( scanf("%d",&a)!=EOF)
{
int q=a,p=a-1,m=a;
for(i=1;i<=q;i++)
{
for(w=1;w<n;w++)
{
printf(" ");
}
n=n+1;
w=1;
for(o=1;o<=2*m-1;o++)
{
printf("*");
}
m=m-1;
printf("\n");
o=1;
}
n=1;
c=a-1;
z=2;
for(y=1;y<=p;y++)
{
for(b=1;b<=c-1;b++)
{
printf(" ");
}
for(x=1;x<=2*z-1;x++)
{
printf("*");
}
z=z+1;
c=c-1;
printf("\n");
b=1;
}
}
}