在屏幕上打印如下圖形,要求使用循環語句.
提示:可以使用四個函數
*
* *
* *
* *
* *
* *
*
#include <stdio.h>
void main()
{
int x,y;
//中上至至左下
for(y=3;y>=0;y--)
{
for(x=0;x<=y;x++)
{
if(x==y)
{
printf("* ");
}
else
{
printf(" ");
}
}
//中上至右下
for(x=2;x>=y;x=x-1)
{
if(x==y)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("/n");
}
//左上至中下
for(y=1;y<=3;y++)
{
for(x=0;x<=y;x++)
{
if(x==y)
{
printf("*");
}
else
{
printf(" ");
}
}
//右上至中下
for(x=2;x>=y;x--)
{
if(x==y)
{
printf(" *");
}
else
{
printf(" ");
}
}
printf("/n");
}
}
方式二:
/***************************************************************************************
Author: Li Qingyang
Time:15/08/2008
Fun:
功能同上
intput:
output
***************************************************************************************/
#include <stdio.h>
void DrawRhombus(int n);
void main()
{
int n;
printf("Please input n:");
scanf("%d", &n);
//DrawRhombus(4);
DrawRhombus(n);
}
void DrawRhombus(int m)
{
int n = m - 1;
int x, y;
int nMax = n * 2;
x = y = nMax;
//x 的取值區間在[0, n)
for (x = 0; x < n; x++)
{
for(y = 0; y <= nMax; y++)
{
if (y == x + n || y == -x + n)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("/r/n");
}
//x 的取值區間在(n, nMax]
for (x = n; x <= nMax; x++)
{
for(y = 0; y <= nMax; y++)
{
if (y == x - n || y == nMax - x + n)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("/r/n");
}
}