请用程序实现: 输入一个大于2的奇数num,输出一个num行的菱形图案
示例
输入
5
输出
*
**
***
**
*
注意: 若菱形图案有num行, 则中间那一行的*号个数为num个, 且左侧始终没有空格。
#include <stdio.h>
int main()
{
int n;
int i,j;
int mid;
scanf("%d",&n);
mid=n/2+1;
for(i=1;i<=n;i++){
if(i<mid)
{
for(j=0;j<(mid-i);j++)
printf(" ");
for(j=0;j<n-2*(mid-i);j++)
printf("*");
for(j=0;j<(mid-i);j++)
printf(" ");}
else
{for(j=0;j<(i-mid);j++)
printf(" ");
for(j=0;j<n-2*(i-mid);j++)
printf("*");
for(j=0;j<(i-mid);j++)
printf(" ");}
printf("\n");
}
return 0;
}
或者这样也可以
#include <stdio.h>
int main ()
{
int num,i,m,n;
num=i=m=n=0;
scanf("%d",&num);
num=num/2;
for(i = 1;i<= num+1 ; i++)
{
for(m = 1;m <= num-i+1;m++)
{
printf(" ");
}
for(n = 1 ;n<=(2*i-1);n++)
{
printf("*");
}
printf("\n");
}
for(i = 1;i<= num; i++)
{
for(m = 1;m <= i; m++)
{
printf(" ");
}
for(n = 1; n<=(2*num-(2*i-1));n++)
{
printf("*");
}
printf("\n");
}
return 0;
}
如果代码有误,欢迎大家指正。