还是采取了打表的方式。然后只要控制好输出即可
/*************************************************************************
> File Name: 10894.cpp
> Author: Toy
> Mail: ycsgldy@163.com
> Created Time: 2013年05月28日 星期二 19时54分43秒
************************************************************************/
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <sstream>
#include <fstream>
#include <cstdio>
#include <string>
#include <vector>
#include <queue>
#include <cmath>
#include <stack>
#include <map>
#include <set>
using namespace std;
const int INF = 0x7fffffff;
char h[5][100] = {"*****..***..*...*.*****...*...*.*****.*****.***...*****.*...*",
"*.....*...*.*...*.*.......*...*.*...*...*...*..*..*...*..*.*.",
"*****.*****.*...*.***.....*****.*****...*...*...*.*...*...*..",
"....*.*...*..*.*..*.......*...*.*.*.....*...*..*..*...*...*..",
"*****.*...*...*...*****...*...*.*..**.*****.***...*****...*.."
};
char v[61][10] = { "*****",
"*....",
"*****",
"....*",
"*****",
".....",
".***.",
"*...*",
"*****",
"*...*",
"*...*",
".....",
"*...*",
"*...*",
"*...*",
".*.*.",
"..*..",
".....",
"*****",
"*....",
"***..",
"*....",
"*****",
".....",
".....",
".....",
"*...*",
"*...*",
"*****",
"*...*",
"*...*",
".....",
"*****",
"*...*",
"*****",
"*.*..",
"*..**",
".....",
"*****",
"..*..",
"..*..",
"..*..",
"*****",
".....",
"***..",
"*..*.",
"*...*",
"*..*.",
"***..",
".....",
"*****",
"*...*",
"*...*",
"*...*",
"*****",
".....",
"*...*",
".*.*.",
"..*..",
"..*..",
"..*.."
};
int Case, tmp, cnt;
bool flag;
int main ( ) {
while ( scanf ( "%d", &Case ) == 1 ) {
if ( Case == 0 ) break;
flag = 1;
if ( Case < 0 ) {
flag = 0;
Case = abs ( Case );
}
if ( flag ) {
for ( int i = 0; i < 5; ++i ) {
tmp = 0;
while ( tmp < Case ) {
for ( int j = 0; h[i][j]; ++j ) {
cnt = 0;
while ( cnt < Case ) {
printf ( "%c", h[i][j] );
++cnt;
}
}
++tmp;
printf ( "\n" );
}
}
}
else {
for ( int i = 0; i < 61; ++i ) {
tmp = 0;
while ( tmp < Case ) {
for ( int j = 0; v[i][j]; ++j ) {
cnt = 0;
while ( cnt < Case ) {
printf ( "%c", v[i][j] );
++cnt;
}
}
++tmp;
printf ( "\n" );
}
}
}
printf ( "\n\n" );
}
return 0;
}