F

来源:互联网 发布:银河历险记3 mac 下载 编辑:程序博客网 时间:2024/05/17 01:08

Today is Children’s Day. Some children ask you to output a big letter ‘N’. ‘N’ is constituted by two vertical linesand one diagonal. Each pixel of this letter is a character orderly. No tail blank is allowed.
For example, this is a big ‘N’ start with ‘a’ and it’s size is 3.

a e
bdf
c g

Your task is to write different ‘N’ from size 3 to size 10. The pixel character used is from ‘a’ to ‘z’ continuously and periodic(‘a’ is reused after ‘z’).

Input
This problem has no input.

Output
Output different ‘N’ from size 3 to size 10. There is no blank line among output.

Sample Output
[pre]
a e
bdf
c g
h n
i mo
jl p
k q
………
r j
[/pre]

Hint
Not all the resultsare listed in the sample. There are just some lines. The ellipsis expresseswhat you should write.

题意:用小写字母从画长度为3的倒N一直画到长度为10的倒N。(长度为 n 的倒N就先记成case n )
先来看看怎么画倒N:
O  O
O OO
OO O
O  O
对于这个case 4 的倒N,那么我就可以从定义一个数组用来存要输出的字母,然后最上面的开始,先向下移动3次,然后想右上方移动3次,然后在向下移动三次。每次移动的时候要输出的字母序号都+1。(在两个N之间字母序号也要+1)。

这样正好就有三个方向 可以表示为:
(i+1,j+0)
(i-1,j+1)
(i+1,j+0)

然后按着这些方向走,走三次,就可以画出一个倒N。
接着对于每一个case的倒N,存一次输出一次就可以了。
代码如下:

#include<stdio.h>#include<string.h>int main(){    int i,j;    char cha[26]={0};       //用来存字母     char a[100][100]={0};   //用来输出字母     int x_move[3]={1,-1,1}; //记录 i 移动的方向    int y_move[3]={0,1,0};  //记录 j 移动的方向    for(i=0; i<26; i++)     //存字母         cha[i]=i+'a';                   int ca=3;               //表示第 case 个倒 N     int time=0;             //用来存 cha[] 中第 time 个字母    int z;    for(ca=3; ca<=10; ca++)    {        int turn=0;             //turn用来控制数组移动的方向         i=0;        j=0;        while(turn!=3)          //转了三次弯以后表示倒 N 已经画完         {            for(z=1; z<=ca; z++)        //对于每个ca的倒 N 每次转弯需要存 ca 个字母             {                a[i][j]=cha[time];      //将第 time 个字母存进 a[][] 中                 if(z!=ca)               //在倒 N 的最左下和最右上两个地方 数组不移动                 {                    i+=x_move[turn];                    j+=y_move[turn];                    time++;                    if(time==26)        //cha[]超过 'z' 时返回 'a'                        time=0;                }            }            turn++;         }        time++;                         //为下一个倒 N 的第一个字母做准备         if(time==26)                    //cha[]超过 'z' 时返回 'a'            time=0;        int i_,j_;        for(i_=0; i_<ca; i_++)          //输出倒 N 型字母         {            for(j_=0; j_<ca; j_++)            {                if(a[i_][j_])                    printf("%c",a[i_][j_]);                else                    printf(" ");            }        printf("\n");        }        memset(a, 0, sizeof(a));    }    return 0;}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 她唇角微甜全文免费阅读 她的唇角微甜全文阅读 下颌角微整形 微运动计步器下载安装 微整学校全国认可 微讯影视裤 微讯迷 微讯 hbwl微讯 华视微讯手机客户端 微讯看点下载 琪琪俱乐部技巧微讯jhhh0228 微整形论坛 听完微商课后的感想简短语录 励志微商女人经典语录 做微商的励志语录 宝妈做微商的励志语录 朋友圈微商经典语录 微请帖免费制作软件 请帖邀请词 发请帖怎么说 如何写请帖 请柬的模板 结婚邀请函电子版 微诺娜 微诺娜柔润保湿霜 微偌娜 薇诺娜可以长期使用吗 诺薇娜 薇诺娜 瑞德近况 维诺娜 薇诺娜怎么样 薇诺娜透明质酸生物膜 微诺娜化妆品有激素吗 薇诺娜化妆品怎么样 薇诺娜洗面奶 薇诺娜护肤品怎么样 薇诺娜孕妇能用吗 薇诺娜含激素吗 薇诺娜和雅漾哪个好 录雷他定片是激素药吗