输入一个整数 n
输出一个X字样。
比如:
输入 n = 1;
则输出结果为: X
输入 n = 2;
则输出结果为: X X
X
X X
输入 n = 3;
则输出结果为:X X X X
X X
X X X X
X X
X
X X
X X X X
X X
X X X X
假设 n-1 对应的图形是 S,
则 n 对应的图形是
S S
S
S S
以此类推。。。
(要求用 printf 实现输出功能)
[此贴子已经被作者于2007-5-21 0:43:49编辑过]
#include <MATH.H>
#include <STDIO.H>
#include <CONIO.H>
void drawstar(int m);
void drawstar(int m)
{
int n=m;
if(n==1)
{
printf("*");
}
else
{
drawstar(n-1);
gotoxy(wherex()+pow(3,n-2),wherey()-pow(3,n-2)+1);
drawstar(n-1);
gotoxy(wherex()-2*pow(3,n-2),wherey()+1);
drawstar(n-1);
gotoxy(wherex()-2*pow(3,n-2),wherey()+1);
drawstar(n-1);
gotoxy(wherex()+pow(3,n-2),wherey()-pow(3,n-2)+1);
drawstar(n-1);
}
}
main()
{
int n;
printf("please input n=\n");
scanf("%d",&n);
if(n<1)
printf("input error");
else
drawstar(n);
}
我用递归法写的。 但是我不知道如何使输出的屏幕左右上下滚动。。所以输出行大于25时,结果就不对了。。。
[此贴子已经被作者于2007-5-21 15:07:36编辑过]