|  | 
 
| 
Description
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 根据输入的正整数n (1个米字形由一个(2n-1)*(2n-1)的矩阵组成,矩阵包含从大写A开始的n个字母
 
 例如:n=3时,包含A,B,C;n=4时,包含A,B,C,D。
 
 矩阵的正中间为n个字母中字典序最大的那个,从这个字母开始,沿着西北、正北、东北、正西、正东、西南、正南、东南八个方向各有一条由大写字母组成的直线。并且直线上的字母按字典序依次减小,直到大写字母A。
 
 矩阵的其它位置用英文句号.填充。
 
 
 Input
 
 样例输入一
 
 3
 
 样例输入二
 
 4
 
 
 Output
 
 样例输出一
 
 A.A.A
 
 .BBB.
 
 ABCBA
 
 .BBB.
 
 A.A.A
 
 样例输出二
 
 A..A..A
 
 .B.B.B.
 
 ..CCC..
 
 ABCDCBA
 
 ..CCC..
 
 .B.B.B.
 
 A..A..A
 
 
 
 
 
 
 本帖最后由 jackz007 于 2020-12-27 22:05 编辑 
复制代码#include <stdio.h>
char fun(int i , int j , int n)
{
        char c                                                   ;
        int k , p , x , y                                        ;
        p = n * 2 - 1                                            ;
        if(i >= 0 && i <= p - 1 && j >= 0 && j <= p - 1) {
                x = (i > n - 1) ? 2 * n - 2 - i : i              ;
                y = (j > n - 1) ? 2 * n - 2 - j : j              ;
                c = '.'                                          ;
                if(x == n - 1) {
                        c = y + 'A'                              ;
                } else {
                        if(x == y || y == n - 1) c = x + 'A'     ;
                }             
       }                
       return c                                                  ;
}
main(void)
{
        int i ,j , k , m                                         ;
        scanf("%d" , & m)                                        ;
        for(i = 0 ; i < m * 2 - 1 ; i ++) {
                for(j = 0 ; j < m * 2 - 1 ; j ++) {
                        printf("%c" , fun(i , j , m))            ;
                }
                printf("\n")                                     ;
        }
}
        编译、运行实况
 复制代码D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
4
A..A..A
.B.B.B.
..CCC..
ABCDCBA
..CCC..
.B.B.B.
A..A..A
D:\00.Excise\C>x
5
A...A...A
.B..B..B.
..C.C.C..
...DDD...
ABCDEDCBA
...DDD...
..C.C.C..
.B..B..B.
A...A...A
D:\00.Excise\C>x
8
A......A......A
.B.....B.....B.
..C....C....C..
...D...D...D...
....E..E..E....
.....F.F.F.....
......GGG......
ABCDEFGHGFEDCBA
......GGG......
.....F.F.F.....
....E..E..E....
...D...D...D...
..C....C....C..
.B.....B.....B.
A......A......A
D:\00.Excise\C>
 | 
 |