| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 956 人关注过本帖
标题:[思考]输出X字样。
只看楼主 加入收藏
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
 问题点数:0 回复次数:9 
[思考]输出X字样。
有一道算法题:
输入一个整数 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编辑过]

搜索更多相关主题的帖子: 字样 输出 思考 
2007-05-20 22:10
crys_chyf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-5-20
收藏
得分:0 
printf实现输“入”?

2007-05-20 23:45
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 

错了,是“输出”,不好意思!


人生重要的不是所站的位置,而是所朝的方向
2007-05-21 00:09
起点线
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-12-7
收藏
得分:0 
呵呵,,想像不出输入4是什么样子.找不出规律..

谁想到了说下啊..

2007-05-21 00:24
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
输入4是这样:
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 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
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
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 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 = 3 的图形为基础,
假设 n = 3 的图形是 S
n = 4 就会输出:
S S
S
S S

人生重要的不是所站的位置,而是所朝的方向
2007-05-21 00:39
luckydjc
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-5-8
收藏
得分:0 
#include <stdio.h>
#include <string.h>
int a[9]={ 0,0,1,3,9,27,81,243,729 };
char G[730][730];
void Copy(int N,int x,int y) {
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
G[x+i][y+j]=G[i][j];
}
int main()
{
int i,j,n,t;
memset(G,' ',sizeof(G));
G[0][0]='X';
for(i=2;i<8;i++) {
t=a[i];
Copy(t,0,2*t);
Copy(t,t,t);
Copy(t,2*t,0);
Copy(t,2*t,2*t);
}
while(scanf("%d",&n) && n!=-1) {
for(i=0;i<a[n+1];i++) {
for(j=0;j<a[n+1];j++)
printf("%c",G[i][j]);
printf("\n");
}
printf("-\n");
}
return 0;
}
2007-05-21 12:36
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
呵呵~不错!

人生重要的不是所站的位置,而是所朝的方向
2007-05-21 13:37
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
6楼写的不错
我当时用的是第归做的这个分行

2007-05-21 14:28
hmh_study
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-5-21
收藏
得分:0 
回复:(herbert_1987)[思考]输出X字样。

#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编辑过]


/****************************************/ 天行健 君子以自强不息 天才源于积累 智慧源于勤奋
2007-05-21 14:59
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
回复:9楼
我用的是VC,不能编译你的程序,不过看来也挺简捷的。

[此贴子已经被作者于2007-5-21 23:22:48编辑过]


人生重要的不是所站的位置,而是所朝的方向
2007-05-21 23:20
快速回复:[思考]输出X字样。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021183 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved