hdu2140

本来想去刷hdu2141呢!结果,看到一个关于2040的代码就立刻被吸引了。

本身水题,可以用if    else    来进行判断;也可以用  switch()    来判断。

但这个代码的亮点,是利用字符所代表的ascii码进行映射,思维很先进啊!别人都要进行九次判断,而他一下就找到了。很节省时间啊!我看了一下只有他是0ms过的!

这个思想可以在以后的题中发扬,杜绝TML!

代码:

#include <stdio.h>
#include<string.h>
char tab[300] ;
char str[10010] ;
int main ()
{    int i ;
    char s1[] = "bqtmicael", s2[] = " ,!leacim" ;
    memset(tab,0,sizeof(tab));
 for (i = 0 ; i < 9 ; i++) 
 tab[s1[i]] = s2[i] ;
 while (gets (str))   
 {       
  for (i = 0 ; str[i] ; i++)       
  {           
   if (tab[str[i]] == 0)
   putchar (str[i]) ;           
   else
   putchar (tab[str[i]]) ;       
  }       
   printf ("\n") ;   
     }
     return 0;
}

转载于:https://www.cnblogs.com/zhangyabin---acm/archive/2012/02/21/2361868.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值