HDU4706 根据题目读题写程序

A - 我不知道哪个是水题
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

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

     
     
[pre] a e bdf c g h n i mo jl p k q ......... r j [/pre]
程序代码:
#include <iostream> #include <stdio.h> #include <cstring> using namespace std; char  mapp[11][11]; int main() {     char a='a';     for(int n=3;n<=10;n++)     {         memset(mapp,0,sizeof(mapp));         for(int i=0;i<n;i++)         {             if(a>'z')  a-=26;             mapp[i][0]=a++;//重点理解,把复杂问题简单化         }     for(int i=n-2;i>=1;--i) //逆对角线上     {       if(a>'z') a-=26;       mapp[i][n-i-1]=a++;     }     for(int i=0;i<=n-1;i++) //最右一列     {         if(a>'z') a-=26;         mapp[i][n-1]=a++;     }     for(int i=0;i<n;i++) //没有的标记为空格     {         for(int j=0;j<n;j++)         {             if(mapp[i][j]==0)  printf(" ");             else                 printf("%c",mapp[i][j]);         }         printf("\n");         }     }     return 0; }
//思路非常好
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值