用*显示一个菱形改进版--可输出任意奇数大小的菱形

源代码:

#include<stdio.h>
#include<math.h>
void main()
{
int n=7;
int o=(n/2);
int t=1;
int step=2;

for(int i=0;i<n;i++)
{
for(int j=0;j<abs(o);j++)
printf(" ");
o--;
for(int k=1;k<=t;k++)
printf("*");
t=t+step;
if(t==n)
step=-step;
printf("\n");
}
}

用*显示一个菱形改进版--可输出任意奇数大小的菱形

改进后:

 

#include<stdio.h>
#include<math.h>
#include <stdlib.h>
void main()
{
int n;
printf("Please input line n(odd number):");
scanf("%d",&n);
if(n%2==0){printf("input error!please input odd number\n");exit(1);}
int o=(n/2);
int t=1;
int step=2;

for(int i=0;i<n;i++)
{
for(int j=0;j<abs(o);j++)
printf(" ");
o--;
for(int k=1;k<=t;k++)
printf("*");
t=t+step;
if(t==n)
step=-step;
printf("\n");
}
}