| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1785 人关注过本帖, 1 人收藏
标题:这个图形 怎么打印出来
只看楼主 加入收藏
kldyutou
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2009-3-21
结帖率:66.67%
收藏(1)
 问题点数:0 回复次数:17 
这个图形 怎么打印出来
21 打印以个N*N的方阵,N为每边字符的个数(3<N<20),要求最外层为"x",第二
层为“Y”,从第三层起每层依次打印数字0,1,2,3,...列子:当N=5,打印出下面的图
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
搜索更多相关主题的帖子: 打印 图形 
2010-01-10 17:36
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:0 
一行一行的打印呗,双重循环!想好怎样判断!
2010-01-10 18:22
kldyutou
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2009-3-21
收藏
得分:0 
回复 楼主 kldyutou
一行 一行的打印 好象不行吧  这样貌似 只能针对  5行的打印  如果是8行呢
2010-01-11 17:41
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:0 
回复 3楼 kldyutou
我想这个只能一行一行打印,因为你不能让光标返回上一行再打印!每一行于每一列之间是有数学关系的。。。你自己找吧..
2010-01-12 16:45
流氓之父
Rank: 2
来 自:新疆
等 级:论坛游民
帖 子:104
专家分:72
注 册:2009-6-2
收藏
得分:0 
e
2010-01-12 20:58
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
呵呵,有空我想想~
2010-01-14 16:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
5=
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
6=
X X X X X X
X Y Y Y Y X
X Y 0 0 Y X
X Y 0 0 Y X
X Y Y Y Y X
X X X X X X
7=
X X X X X X X
X Y Y Y Y Y X
X Y 0 0 0 Y X
X Y 0 1 0 Y X
X Y 0 0 0 Y X
X Y Y Y Y Y X
X X X X X X X
8=
X X X X X X X X
X Y Y Y Y Y Y X
X Y 0 0 0 0 Y X
X Y 0 1 1 0 Y X
X Y 0 1 1 0 Y X
X Y 0 0 0 0 Y X
X Y Y Y Y Y Y X
X X X X X X X X
9=
X X X X X X X X X
X Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 Y X
X Y 0 1 1 1 0 Y X
X Y 0 1 2 1 0 Y X
X Y 0 1 1 1 0 Y X
X Y 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y X
X X X X X X X X X
10=
X X X X X X X X X X
X Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 0 Y X
X Y 0 1 2 2 1 0 Y X
X Y 0 1 2 2 1 0 Y X
X Y 0 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y X
X X X X X X X X X X
11=
X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 1 0 Y X
X Y 0 1 2 3 2 1 0 Y X
X Y 0 1 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X
12=
X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 2 1 0 Y X
X Y 0 1 2 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X
13=
X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X
14=
X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X
15=
X X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X X
16=
X X X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X X X
17=
X X X X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X X X X
18=
X X X X X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X X X X X
19=
X X X X X X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 6 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 6 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X X X X X X
20=
X X X X X X X X X X X X X X X X X X X X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 6 6 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 7 7 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 7 7 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 6 6 6 6 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 5 5 5 5 5 5 4 3 2 1 0 Y X
X Y 0 1 2 3 4 4 4 4 4 4 4 4 3 2 1 0 Y X
X Y 0 1 2 3 3 3 3 3 3 3 3 3 3 2 1 0 Y X
X Y 0 1 2 2 2 2 2 2 2 2 2 2 2 2 1 0 Y X
X Y 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Y X
X Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y X
X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X
X X X X X X X X X X X X X X X X X X X X

这是我算出来的结果

授人于鱼,不如授人于渔
早已停用QQ了
2010-01-14 21:14
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
我只会VB6,所以看到这个题目,就用VB6做了一下.
我的VB6的代码如下,然后那位牛人随手改成 C 的代码.

我加了大量的注释在内.VB6 的注释是 ' 开头,到本行结尾为止.
可以占一行,也可以从代码本行里 再接注释
VB6运行中文名当函数和变量名,所以里面一些函数名和变量名都是中文的.

----------------VB6代码---------------------
Private Sub Command1_Click()
'响应按钮处理的过程
Dim n As Long
Dim s As String

'输入部分,要求输入一个5-20的数,超范围则退出过程
s = InputBox("请输入 N : 5-20", 5)
If IsNumeric(s) Then
    n = CLng(s)
    If n < 5 And n > 20 Then
        MsgBox "数据范围不对"
        Exit Sub
    End If
Else
    MsgBox "请输入数据"
    Exit Sub
End If

'处理部分
Dim i As Long
Dim j As Long

Dim k As String

'FOR 循环 ,N 为总层数
For i = 1 To n
    Select Case i       '多分支选择
        Case 1, n       '第一层,最后一层
            k = 重复字串("X ", n)       '全成 X
        Case 2, n - 1       '第二层及倒数第二层,由头,尾(均为 X ) 和中间(Y)组成
            k = "X " & 重复字串("Y ", n - 2) & "X "
        Case Else           '其它层,由 头 和 内层数字 和 尾 组成
            k = "X Y " & 产生内套字串(i, n) & "Y X "
    End Select
    Print k             '输出一行
Next i

End Sub


Private Function 重复字串(字串 As String, 次数 As Long) As String
'根据传进来的参数,使用FOR循环重次连接成一个新的字符串
'如果换到C里面的话,应该是先申请内存,然后用 FOR 循环填数字进去
Dim i As Long
For i = 1 To 次数
    重复字串 = 重复字串 & 字串
Next i
End Function

Private Function 产生内套字串(当前层数 As Long, 总层数 As Long) As String
Dim i As Long
Dim j As Long
Dim k1 As String, k2 As String

'如果传进去的当前层数大于半数,则需要修正为从底部计算起的层数
If 当前层数 < 总层数 / 2 + 1 Then
    j = 当前层数
Else
    j = 总层数 - 当前层数 + 1
End If

'使用FOR 产生头和层部分
'如果是C里面,可以申请内存,然后从头和从尾填数字进去
For i = 0 To j - 4
    k1 = k1 & i & " "
    k2 = i & " " & k2
Next i

'产生中间部分的字串,然后与头和层拼起来
'中间层个数的计算是 头,尾各用掉了 j-3),还有去掉2个 X Y 层, 就变成了
'总个数- XY层个数-头-尾
'最后连接起来

    产生内套字串 = k1 & 重复字串(CStr(j - 3) & " ", 总层数 - 4 - (j - 3) * 2) & k2
End Function

授人于鱼,不如授人于渔
早已停用QQ了
2010-01-14 21:18
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
收藏
得分:0 
static void Main(string[] args)
        {
            char[,] sAry = (new char[20,20]);
            char[] ch = {'X','Y','O'};
            int size = 0;
            string sin = Console.ReadLine();
            int.TryParse(sin, out size);
            int ires = size / 2;
            int loop = ires + size % 2;
            int iCnt = 0;
            for (int j = 0; j < loop; ++j)
            {
                char chr = ch[iCnt % ch.Length];
                int x = size - j - 1;
                sAry[j, x] =
                sAry[x, j] = chr;
                sAry[j, j] = chr;
                sAry[x, x] = chr;
                for (int k = j + 1; k < x; ++k)
                {
                    sAry[j, k] = chr;
                    sAry[k, j] = chr;
                    sAry[k, x] = chr;
                    sAry[x, k] = chr;
                }
                iCnt++;
            }
            for (int i = 0; i < size; ++i)
            {
                for (int j = 0; j < size; ++j)
                {
                    Console.Write(sAry[i, j]);
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }

其实我也很无聊!
2010-01-20 16:01
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
收藏
得分:0 
晕哈,没好好看题,我的是这个样子:

10
X X X X X X X X X X
X Y Y Y Y Y Y Y Y X
X Y O O O O O O Y X
X Y O X X X X O Y X
X Y O X Y Y X O Y X
X Y O X Y Y X O Y X
X Y O X X X X O Y X
X Y O O O O O O Y X
X Y Y Y Y Y Y Y Y X
X X X X X X X X X X

其实我也很无聊!
2010-01-20 16:08
快速回复:这个图形 怎么打印出来
数据加载中...
 
   



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

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