zoukankan      html  css  js  c++  java
  • hdu 4706:Children's Day(模拟题,模拟输出大写字母 N)

    Children's Day

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 648    Accepted Submission(s): 422


    Problem Description
    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
    a e
    bdf
    c g
    h  n
    i mo
    jl p
    k  q
    .........
    r        j
    Hint
    Not all the resultsare listed in the sample. There are just some lines. The ellipsis expresseswhat you should write.
     
    Source
     
    Recommend
    liuyiding   |   We have carefully selected several similar problems for you:  4822 4821 4820 4819 4818 

      
      模拟题
      模拟输出大写字母‘N’,‘N’由小写字母组成,输出的尺寸大小由3增加到10,每个尺寸之间没有空格。输出示例见上。
      做这样的模拟题就是要观察输出图形之间的数学关系。总结出关系之后,图形输出就很容易了。
      代码:
     
     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int n;  //size
     8     int c = 1;  //该尺寸的第一个字母的序号
     9     for(n=3;n<=10;n++){ //循环尺寸
    10         int i,j;  //该尺寸的第i行,和该行第j个元素
    11         int c1=c%26,c2=(c+2*n-2)%26;  //分别记录每一行的第一个字母和最后一个字母序号
    12         if(c1==0) c1=26;
    13         if(c2==0) c2=26;
    14         for(i=1;i<=n;i++){  //
    15             int k=n+1-i;    //每一行中间元素的位置
    16             for(j=1;j<=n;j++){   //该行每一个元素
    17                 if(j==1)
    18                     cout<<char(c1+'a'-1);
    19                 else if(j==n)
    20                     cout<<char(c2+'a'-1);
    21                 else if(j==k){  //中间元素
    22                     int kc = (c+n+k-2)%26;
    23                     if(kc==0) kc=26;
    24                     cout<<char(kc+'a'-1);
    25                 }
    26                 else
    27                     cout<<' ';
    28             }
    29             cout<<endl;
    30             c1=(c1+1)%26,c2=(c2+1)%26;
    31             if(c1==0) c1=26;
    32             if(c2==0) c2=26;
    33         }
    34         c=(c+3*n-2)%26;
    35         if(c==0)
    36             c=26;
    37     }
    38     return 0;
    39 }

    Freecode : www.cnblogs.com/yym2013

  • 相关阅读:
    WPF Video Tutorials
    英语词汇看病
    回车键的含义
    勘误《新概念》IV
    2010年春季C语言程序设计答疑时间地点安排
    勘误《新概念》III
    A potentially dangerous Request.Form value was detected from the client
    推荐WPF的好书(图书)
    *英语词汇交通
    英语词汇房地产
  • 原文地址:https://www.cnblogs.com/yym2013/p/3594424.html
Copyright © 2011-2022 走看看