Problem Description
小t最近学了C语言,他想要在女朋友小w面前展示一下自己的能力,小w喜欢如样例所示的图形,
想让小t写一个程序来输出这样的图形,小t拿到后感觉有点困难,小t不想在女朋友面前尴尬,
所以聪明的你来帮助帮助他吧。
Input
输入图形所占的列数n(n<20且n为奇数)(多组数据)
Output
输出图形,输出一个图形后面接一行换行
Sample Input
5
7
Sample Output
*
***
*****
***
*
*
***
*****
*******
*****
***
*
HINT
注意每个图形中一行最前面的空白由空格填充,最后一个'*'之后不要有多余的空格。
#include <stdio.h>
int main()
{
int m,i,j,k;
while(scanf("%d",&m) != EOF)
{
for(i=;i<=m/;i++)
{
for(j=i;j<=m/;j++)
{
printf(" ");
}
for(k=;k<=*i-;k++)
{
printf("*");
}
printf("\n");
}
for(i=;i<=m;i++)
{
printf("*");
}
printf("\n");
for(i=;i<=m/;i++)
{
for(k=i;k<=*i-;k++)
{
printf(" ");
}
for(j=;j<=m-*i;j++)
{
printf("*");
}
printf("\n");
}
printf("\n");
} return ;
}
其他代码:
#include<stdio.h>
int main()
{
int n,i,j,k;
while(~scanf("%d",&n))
{
for(i=;i<=n/;i++)
{
for(j=;j<n/+-i;j++)
printf(" ");
for(k=n/+-i;k<=n/+i;k++)
printf("*");
printf("\n");
}
for(i=;i<=n;i++)
printf("*");
printf("\n");
for(i=;i<=n/;i++)
{
for(j=;j<=i;j++)
printf(" ");
for(k=i+;k<=n-i;k++)
printf("*");
printf("\n");
}
printf("\n");
}
return ;
}