| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1423 人关注过本帖, 1 人收藏
标题:请教一道竞赛编程题,给个思路也行!
只看楼主 加入收藏
vivien薄荷芯
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2012-11-11
结帖率:100%
收藏(1)
 问题点数:0 回复次数:11 
请教一道竞赛编程题,给个思路也行!


在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。

比如:         

    ┌─┬─┐

       

    ├─┼─┤

       

    └─┴─┘      

其实,它是由如下的符号拼接的:

    左上 = ┌

    上 =  

    右上 =  

    左 =  

    中心 =  

    右 =  

    左下=  

    下 =  

    右下 =  

    垂直 =  

    水平 =   

本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。

例如用户输入:

3 2

则程序输出:

┌─┬─┐

    

├─┼─┤

    

├─┼─┤

    

└─┴─┘

用户输入:

2 3

则程序输出:

┌─┬─┬─┐

      

├─┼─┼─┤

      

└─┴─┴─┘
搜索更多相关主题的帖子: 表格 Windows 特殊符号 漂亮 
2013-04-27 16:45
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
用两个for嵌套循环,一行一行的输出  
找规律就知道了.具体就不说了  自己思考

有心者,千方百计;无心者,千难万难。
2013-04-28 01:18
chinac
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-3-11
收藏
得分:0 
但是如何利用Vc++6.0输出像这样的“|-”特殊符号啊,求解,谢谢啦。
2013-05-04 16:50
vivien薄荷芯
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2012-11-11
收藏
得分:0 
我也想知道
2013-05-04 19:43
vivien薄荷芯
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2012-11-11
收藏
得分:0 
垂直的怎么输入的?
2013-05-04 21:42
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    int i;
    char s[] = "┬";

    puts(s);

    for (i = 0;s[i] != '\0';++i)
    {
        putchar(s[i]);
    }
    putchar('\n');
    return 0;
}


[fly]存在即是合理[/fly]
2013-05-04 22:33
lolita1992
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2011-12-10
收藏
得分:0 
#include <stdio.h>
int main()
{
    int x,y,i,j;
    scanf("%d%d", &x, &y);
    for( i=0;i<=x;i++)
    {
        for( j=0;j<=y;j++)
        {
            if(0==i && 0==j)
            {
                printf("┌—");
            }
            else if(0==i && j==y)
            {
                printf("┐");
            }
            else if(i==x && 0==j)
            {
                printf("└—");
            }else if(i==x && j==y)
            {
                printf("┘");
            }
            else if(0 == i)
            {
                printf("┬—");
            }
            else if(0 == j)
            {
                printf("├—");
            }
            else if(i == x)
            {
                printf("┴—");
            }else if(j == y)
            {
                printf("┤");
            }
            else
                printf("┼—");
        }
            printf("\n");
        if(i==x) break;
        for(int j=0;j<=y;j++)
            printf("│  ");
        printf("\n");
    }
 
    return 0;
}
2013-05-09 09:19
hhwz
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:87
帖 子:687
专家分:4502
注 册:2011-5-22
收藏
得分:0 
找到其中的规律写代码就方便了
从图中可以看到  垂直 和 水平 是和输入的 行与列是相等的

中心 上 左 右 下 都是输入值 减少1

从第一行开始输出就行了

2013-05-13 10:34
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
收藏
得分:0 
这个题目是竞赛里最简单的吧!

旨在提高编程水平,学有所用,学有所成,学有所为。
2013-05-17 15:19
sbbqq
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-12-21
收藏
得分:0 
/*
标题:画表格
在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如:        
    ┌─┬─┐
       
    ├─┼─┤
       
    └─┴─┘        
其实,它是由如下的符号拼接的:
    左上 = ┌
    上 =  
    右上 =  
    左 =  
    中心 =  
    右 =  
    左下=  
    下 =  
    右下 =  
    垂直 =  
    水平 =   
本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。

例如用户输入:
3 2
则程序输出:
┌─┬─┐
    
├─┼─┤
    
├─┼─┤
    
└─┴─┘
用户输入:
2 3
则程序输出:
┌─┬─┬─┐
      
├─┼─┼─┤
      
└─┴─┴─┘
对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。例如,不能使用CString类型(属于MFC类库)。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意选择自己使用的编译环境。
*/
#include<iostream>
using namespace std;
int main()
{
    int m,n;
    cin>>m>>n;
    for(int i=0;i<=m;i++)
    {
        for(int j=0;j<=n;j++)
        {
            if(i==0)
                if(j==0)
                  cout<<"┌─";
                else
                    if(j==n)
                        cout<<"┐";
                    else
                        cout<<"┬─";
            else
               
                   if(i==m)
                       if(j==0)
                          cout<<"└─";
                        else
                            if(j==n)
                              cout<<"┘";
                            else
                            cout<<"┴─";
                     else
                            if(j==0)
                             cout<<"├—";
                             else
                                if(j==n)
                                  cout<<"┤";
                                 else
                                  cout<<"┼─";
                                    
            
        }
        cout<<endl;
        if(i!=m)
        for(int k=0;k<=n;k++)
              if(k==0)
                 cout<<"│";
              else
                 cout<<"  │";
        cout<<endl;
    }
}
2013-12-25 00:53
快速回复:请教一道竞赛编程题,给个思路也行!
数据加载中...
 
   



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

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