假设有一个m*n行列的一个行列信息。每一个单元块又变成a*b行列信息。例如原来是3*3,每一个小块又是3*3
如图
原来
* * *
* * *
* * *
变后
*** *** ***
*** *** ***
*** *** ****** *** ***
*** *** ***
*** *** ****** *** ***
*** *** ***
*** *** ***
如图
原来
* * *
* * *
* * *
变后
*** *** ***
*** *** ***
*** *** ****** *** ***
*** *** ***
*** *** ****** *** ***
*** *** ***
*** *** ***
解决方案 »
- VC++6.0如何自动显示成员
- 求rar文件格式的资料
- Win98下向WH_CALLWNDPROCRET hook的窗体SendMessage时钩子没被调用的问题。
- MFC中的MDI,工具栏点击事件怎样捕捉到?或者怎么样判断鼠标点击的是子窗体之外的区域?
- 用SDK编写的可执行程序怎么修改文件的图标?
- map怎么用?
- 能帮我做几道选择题吗,我急要.
- 简单的sql语句,马上给分!!!
- C# 可以编写组件, 还有必要学ATL 吗? 欢迎大家讨论一下
- 关于在VC中用ADO执行sql语句的错误
- com服务器将一个32位dll的函数封装,但在idl文件中类不识别,error2025 2026
- 好久没来这了,说说感慨
//输出
//* *
// *
//* *
//输入2
//输出
//* * * *
// * *
//* * * *
// * *
// *
// * *
//* * * *
// * *
//* * * *
//输入3
//输出
//* * * * * * * *
// * * * *
//* * * * * * * *
// * * * *
// * *
// * * * *
//* * * * * * * *
// * * * *
//* * * * * * * *
// * * * *
// * *
// * * * *
// * *
// *
// * *
// * * * *
// * *
// * * * *
//* * * * * * * *
// * * * *
//* * * * * * * *
// * * * *
// * *
// * * * *
//* * * * * * * *
// * * * *
//* * * * * * * *
//最大输入8
#include <stdio.h>
char m[6561][6561];//==3^8
void fractalx(int cy,int cx,int L) {
int N,i; if (1==L) {
m[cy ][cx ]='*';
m[cy-1][cx-1]='*';
m[cy-1][cx+1]='*';
m[cy+1][cx+1]='*';
m[cy+1][cx-1]='*';
} else {
N=1;for (i=0;i<L-1;i++) N=N*3;
fractalx(cy ,cx ,L-1);
fractalx(cy-N,cx-N,L-1);
fractalx(cy-N,cx+N,L-1);
fractalx(cy+N,cx+N,L-1);
fractalx(cy+N,cx-N,L-1);
}
}
int main() {
int L,N,i,y,x; while (1) {
while (1) {
printf("\nInput 1..8,0 for Exit:");
fflush(stdout);
if (1==scanf("%d",&L)) {
if (0<=L && L<=8) break;
} else rewind(stdin);
}
if (0==L) break;
N=1;for (i=0;i<L;i++) N=N*3;
for (y=3280-(N-1)/2;y<=3280+(N-1)/2;y++) {
for (x=3280-(N-1)/2;x<=3280+(N-1)/2;x++) {
m[y][x]=' ';
}
}
fractalx(3280,3280,L);
for (y=3280-(N-1)/2;y<=3280+(N-1)/2;y++) {
for (x=3280-(N-1)/2;x<=3280+(N-1)/2;x++) {
printf("%c",m[y][x]);
}
printf("\n");
}
}
return 0;
}