| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 769 人关注过本帖
标题:字母方阵
只看楼主 加入收藏
菲儿1031
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-6-17
结帖率:50%
收藏
 问题点数:0 回复次数:9 
字母方阵
输入正整数N(N < 10),输出如下的对应字符图形
N = 2
A A A
A B A
A A A
        N = 4
        A A A A A A A
        A B B B B B A
        A B C C C B A
        A B C D C B A
        A B C C C B A
        A B B B B B A
        A A A A A A A
以下是我写的:
#define N 4
#define T 2*N-1
#include<stdio.h>
#include<stdlib.h>
int main()
{
    char a[T][T];int i,j;
    for(i=0;i<N;i++)
    {
        for(j=i;j<T+1-i;j++)
        {
            a[i][j]=i+65;
            a[j][i]=i+65;
            a[T-i][T-j]=i+65;
            a[T-j][T-i]=i+65;
        }
    }
    for(i=0;i<T;i++)
    {
        for(j=0;j<T;j++)
    {
        printf("%c",a[i][j]);
    }
        printf("\n");
    }
    system("pause");
    return 0;
 }
运行结果和题目有出入,但不知怎么改。求帮助!!
搜索更多相关主题的帖子: include 正整数 字母 
2015-09-24 23:58
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
定义宏T加上括号

一片落叶掉进了回忆的流年。
2015-09-25 00:00
菲儿1031
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-6-17
收藏
得分:0 
回复 2楼 诸葛欧阳
加上括号结果还是不变呀
2015-09-25 00:05
小王KING
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:69
注 册:2015-9-9
收藏
得分:0 
你的思路有问题
我随便写了个,一般般吧,很烂,最好的办法是弄个通项公式出来,那就方便多了(求通项公式太麻烦了,学问低,不会)
程序代码:
#define N 4

 #define T 2*N-1

 #include<stdio.h>

 #include<stdlib.h>

 int main()

 {
   
     char a[T][T];int i,j,k;

 for(i=0;i<N;i++)
{
    for(j=0;j<T;j++)
        for(k=0;k<T;k++)
        {
            if(j==3&&k==3)
                a[j][k]='D';
            else
                if(j>=2&&j<=4&&k>=2&&k<=4)
                    a[j][k]='C';
                else
                    if(j>=1&&j<=5&&k>=1&&k<=5)
                        a[j][k]='B';
                    else
                        a[j][k]='A';
        }
}
     for(i=0;i<T;i++)
     {
         for(j=0;j<T;j++)
     {
         printf("%c",a[i][j]);
     }
         printf("\n");
     }
     system("pause");
     return 0;

 }
2015-09-25 06:16
我爱吃青菜
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:190
专家分:500
注 册:2015-3-29
收藏
得分:0 
这个问题和下面这个几乎一样,改改就可以了,多逛逛论坛就好了
https://bbs.bccn.net/thread-456402-1-1.html
2015-09-25 22:53
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
#include <stdio.h>

#define MIN(a,b)  ( ((a)<(b)) ? (a) : (b) )

void fun( unsigned n )
{
    for( unsigned i=0; i!=(2*n-1)*(2*n-1); ++i )
    {
        unsigned r = i/(2*n-1);
        unsigned c = i%(2*n-1);
        unsigned v = MIN( MIN(r+1,2*n-1-r), MIN(c+1,2*n-1-c) );

        printf( "%c%c", v+64, " \n"[(i+1)%(2*n-1)==0] );
    }
}

int main( void )
{
    int level;
    for(printf("input level:");scanf("%d",&level)!=1;
        scanf("%*[^\n]"),printf("WRONG!,input level again: "));
    fun( level );

    return 0;
}

剑栈风樯各苦辛,别时冰雪到时春
2015-09-25 23:05
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 6楼 林月儿

我也来凑下热闹。
程序代码:
#include <stdio.h>
void main()
{
    int n,i,j,x,y;
    while(!(scanf("%d",&n)))flushall();
    for(i=0,x=1;i>=0;i+=x)
    {
        for(j=0,y=1;j>=0;j+=y)
        {
            if(j<i)printf("%c ",65+j);
            else printf("%c ",65+i);
            if(j==n-1)y=-1;
        }
        printf("\n");
        if(i==n-1)x=-1;
    }
}



能编个毛线衣吗?
2015-09-26 00:08
咚咚dddd锵
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:15
注 册:2015-9-12
收藏
得分:0 
回复 7楼 wmf2014

活着是种态度
2015-09-27 00:03
菲儿1031
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-6-17
收藏
得分:0 
回复 5楼 我爱吃青菜
谢谢
2015-10-06 19:54
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
收藏
得分:0 
回复 6楼 林月儿
能不能这段代码思路是怎样的。看不太懂
2015-10-07 14:16
快速回复:字母方阵
数据加载中...
 
   



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

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