标题:请各位路过的大神不吝赐教,多谢。
只看楼主
zy101
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-27
结帖率:33.33%
已结贴  问题点数:20 回复次数:5 
请各位路过的大神不吝赐教,多谢。
、 用二维字符数组实现输出以下图形.
          A
         ABA
        ABCBA
       ABCDCBA
搜索更多相关主题的帖子: 不吝 二维 字符 输出 图形 
2018-12-10 19:07
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
得分:5 
你是要按这个规律还是只要这样输出

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-10 19:31
深秋2015
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:12
帖 子:402
专家分:1500
注 册:2015-10-13
得分:5 
回复 2楼 帝师
应该是找这个规律,如果仅仅原样输出,用四个print就解决了

从此以后我都不敢抬头看
仿佛我的天空失去了颜色
2018-12-10 19:34
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:5 
字符串,下标用绝对值游动[abs(len-i)],再弄点空格就可以了。

saber,别哭.
2018-12-10 20:43
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
得分:0 
回复 3楼 深秋2015
我也新手一个,可能代码没优化好,多担待:
#include<stdio.h>
int main()
{
    char san[1000][1000];
    char yuansu;//要储存进去的字符
    char yuansu_1;
    int i,j;//循环控制
    int n;//行数
    int k;
    int z,x;
    scanf("%d",&n);
    for(i=0,k=n-1;i<n;i++,k--)
    {yuansu='A';
    z=0,x=1;
        for(j=0;j<2*n-1;j++)
        {
            if(j<k)
            {
                san[i][j]=' ';
            }
            else if(j>=k && j<n)
            {
            
                    yuansu_1=san[i][j]=yuansu+z;
               
                    z++;
                    

            }
            else if(j>=n && j<n+i)
            {
            
                san[i][j]=yuansu_1-x;
                x++;
            }
            else
                san[i][j]=' ';
        }
        
    }
   
    for(i=0;i<n;i++)
    {
        for(j=0;j<2*n-1;j++)
        {
            printf("%c",san[i][j]);
        }
        printf("\n");
    }


}
  

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-10 20:44
wlxy_wang
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:77
专家分:303
注 册:2018-11-2
得分:5 
这个题需要对二位数组有比较深的了解,尤其对于二维字符数组要有较深刻的了解。
程序代码:
#include "stdio.h"
void main()
{
    char ch[100][100];
    int i,j,n,count=0;
    printf("please input n:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
        ch[i][j]='A'+j;
        count=0;
        for(j=i+1;j<=2*i;j++)
        {    count++;
            ch[i][j]='A'+i-count;
        }
        ch[i][j]=0;
        printf("%s",ch[i]);
        printf("\n");
    }  
}

结果
2018-12-11 10:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491942-1-1.html




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

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