在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
第一种方法:
void star(int n)
{
int i = 0;
int j = 0;
for(i = 1 ;i<=n; i+=2)
{
for(j = 1; j<=i; j++)
{
printf("*");
}
printf("\n");
}
for(i = n-2; i>=1; i-=2)
{
for(j = 1; j<=i; j++)
{
printf("*");
}
printf("\n");
}
}
优化后:
void star1(int n)
{
int i = 0;
int j = 0;
for(i = 0; i<n; i++)
{
for(j = 0; j<n-i-1; j++)
{
printf(" ");
}
for(j = 0; j<2*i + 1; j++)
{
printf("*");
}
printf("\n");
}
for(i = 0; i<n-1; i++)
{
for(j = 0; j<=i; j++)
{
printf(" ");
}
for(j = 0; j<(n-1-i)*2-1; j++)
{
printf("*");
}
printf("\n");
}
}
第二种方法:
定义一个int array[n][n]用memset函数初始化为空,然后添加*
void memset(void *s, int ch,size_t n) 头文件<string.h>
第三种方法:
定义四个一元一次不等式初始化菱形,四个一元一次不等式的中间部分为菱形即可。