第一种方法输出若干个空格形成菱形,第二种方法半径为r的圆的四条互相垂直的切线形成的图形是菱形。
方法一,每一行输出r-i个空格以及2i-1个*,菱形的上半部分和下半部分需要分别输出.
代码如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0, j = 0,k = 0;
for (i = 1; i <= 7; i++)
{
for (k = 7-i; k > 0; k--)
{
printf(" ");
}
for (j = 0; j < 2 * i - 1; j++)
{
printf("*");
}
if (j = 2 * i - 1)
{
printf("\n");
}
}
for (i = 6; i >0; i--)
{
for (k = 7-i; k>0; k--)
{
printf(" ");
}
for (j = 2 * i - 1; j >0; j--)
{
printf("*");
}
if (j = 2 * i - 1)
{
printf("\n");
}
}
system("pause");
return 0;
}
方法二,做一个半径为r的圆,做它的四条切线分别为y=x+r,y=x-r,y=-x+r,y=-x+3r.如果x,y在四条切线形成的图案范围内,输出*,否则输出空格,即可形成菱形。
代码如下
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x = 0, y = 0;
int r = 5;
for (x = 0; x <= 2 * r; x++)
{
for (y = 0; y <= 2 * r; y++)
{
if (y <= x + r && y >= x - r && y >= (-x) + r && y <= (-x) + 3 * r)
printf("*");
else printf(" ");
}
printf("\n");
}
system("pause");
return 0;
}