| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2328 人关注过本帖
标题:请问此题怎么解!谢谢!
只看楼主 加入收藏
诗意天涯
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2015-12-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
请问此题怎么解!谢谢!
3.人类是先认知了图形,然后才抽象出文字。在人类的认知中,图形比文字要容易理解。让我们也输出一个美丽的图形来看看吧。
输入
一个整数n
输出
一个字符矩阵。上三角中,从对角线开始,按照字母的顺序输出。下三角矩阵中,数字是行号减1。
样例输入
5
样例输出
A B C D E
1 A B C D
2 2 A B C
3 3 3 A B
4 4 4 4 A
搜索更多相关主题的帖子: 对角线 字母 
2015-12-31 11:16
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
程序代码:
#include<stdio.h>

int main()     
{
    int i,j,m,n;
    for(i=0,m=0;i<9;i++,m++,printf("\n"))
        for(j=0,n='A';j<9;j++)
            if(j<i) printf("%2d",m);else printf("%2c",n++);
    return 0;
}


[此贴子已经被作者于2015-12-31 14:25编辑过]

收到的鲜花
  • 书生牛犊2016-01-02 18:38 送鲜花  5朵   附言:果然精简! 我有点明白为什么要多读别人的 ...

DO IT YOURSELF !
2015-12-31 13:37
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:3 
程序代码:
#include<iostream>
/*
输入
一个整数n
输出
一个字符矩阵。上三角中,从对角线开始,按照字母的顺序输出。下三角矩阵中,数字是行号减1。
样例输入
5
样例输出
A B C D E
1 A B C D
2 2 A B C
3 3 3 A B
4 4 4 4 A
*/
int main()
{
    using namespace std;
    int n;
    cin>>n;
    char **p;
    p=new char*[n];
    for(unsigned int i=0;i<n;i++)
    {
        p[i]=new char[n];
    }//申请空间
    char tmp1='A';
    char tmp2='1';
    int cou1=0;
    int cou2;
    for(unsigned int k=0;k<n;k++)
    {
        cou2=0;
        for(unsigned int j=0;j<n;j++)
        {
            if(k>j)
            {
                p[k][j]=tmp2+cou1-1;
            }
            else
            {
                p[k][j]=tmp1+cou2;
                cou2++;
            }

            cout<<p[k][j]<<"\t";
        }
        cou1++;
        cout<<endl;
    }
    for(unsigned int i=0;i<n;i++)
    {
        delete p[i];
        p[i]=NULL;
    }
    delete []p;
    p=NULL;
    return 0;
}


[此贴子已经被作者于2015-12-31 16:19编辑过]

2015-12-31 15:47
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
呃,才发现这是要C程序,我写成C++了,C建立动态数组的问题我还不知道具体怎么做,方法是一样的,你只要把相应的地方改一下就好了
2015-12-31 16:20
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
直接输出就好了
弄啥数组啊

DO IT YOURSELF !
2016-01-01 07:43
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
直接输出就好了
弄啥数组啊

DO IT YOURSELF !
2016-01-01 07:52
eFun
Rank: 6Rank: 6
等 级:禁止访问
威 望:1
帖 子:58
专家分:400
注 册:2015-12-27
收藏
得分:3 
二楼版主代码已经足够满足要求了,但貌似有滥用变量之嫌,修改如下感觉更简练(未测试,仅供参考):

#include<stdio.h>

int main()     
{
    int i,j;
    for(i=0;i<9;i++,printf("\n"))
        for(j=0;j<9;j++)
            if(j<i) printf("%2d",i);else printf("%2c",'A'+j-i);
    return 0;
}
2016-01-01 10:46
意林林
Rank: 1
等 级:新手上路
帖 子:10
专家分:6
注 册:2015-12-29
收藏
得分:3 
回复 楼主 诗意天涯
/*应该是这个样子的,我是新手哈*/
#include<stdio.h>
int main()     
{
    int i,j,s;
    printf("输入想要的行数");
    scanf("%d",&s);
    for(i=1;i<=s;i++)        
    {
        for(j=1;j<=s;j++)
        {
            if(j<i)
                printf("%2d",(i-1));
            else printf("%2c",'A'+j-i);
        }
        printf("\n");
    }
        
    return 0;
}
2016-01-01 15:25
QINGMANG
Rank: 2
等 级:论坛游民
帖 子:14
专家分:35
注 册:2015-11-13
收藏
得分:3 
二楼没输入行数
2016-01-01 16:05
不同认为
Rank: 1
等 级:新手上路
帖 子:93
专家分:3
注 册:2015-11-25
收藏
得分:3 
回复 8楼 意林林
这个是思路是怎么想出来的 这题一眼下去没有头绪
2016-01-01 19:55
快速回复:请问此题怎么解!谢谢!
数据加载中...
 
   



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

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