您的位置:首页 > 其它

递归输出图形

2012-02-29 15:22 337 查看
以前都是用for循环解决这类题目的。。用递归输出真的是太方便了。

递归输出正方形:

View Code

#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <math.h>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <functional>
#include <map>
#include <set>
#include <time.h>
#include <iostream>
#include <fstream>

using namespace std;

int N;

void fun1( int n, int num)
{
if( n == 0 )
{
puts("");
return;
}
if( abs(N / 2 + 1 - n) == num )
printf("%c",3);
else
printf(" ");
fun1(n - 1,num);
}

void solve( int n )
{
for( int i = 1; i < n/2; i++)
fun1(n, i - 1);
for( int i = n/2; i >= 1; i--)
fun1(n, i - 1);

}

int main( )
{

while ( scanf("%d", &N) != EOF )
{
N = N * 2;
solve( N );
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: