Chinaunix首页 | 论坛 | 博客
  • 博客访问: 918035
  • 博文数量: 119
  • 博客积分: 6248
  • 博客等级: 准将
  • 技术积分: 1419
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-08 14:14
文章分类

全部博文(119)

文章存档

2014年(1)

2012年(1)

2011年(2)

2010年(22)

2009年(81)

2008年(12)

分类: WINDOWS

2009-10-16 16:15:03

今天在看c++程序设计书的时候发现这个题目的,把相应字符进行转化,规律如下:
A -> Z    a -> z
B -> Y    b -> y
..........
 
详细的代码如下:
 

#include<iostream>
using namespace std;

int main()
{
    int i = 0;
    int k = 0;
    int j = 0;
    char sEnglish[26] = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    char sChange[10] = {'b','A','z','l','m','r','s','w','t','o'};
    for ( k = 0;k < 10;k++)
    {
        if ( ( sChange[k] >= 'A' ) && ( sChange[k] <= 'Z' ) )
        {
            for ( i = 0; i < 26;i++ )
            {
                if ( sChange[k] == ( sEnglish[i] - 32 ) )
                {
                    j = i;
                    sChange[k] = ( sEnglish[ 26 -j -1 ] - 32 );
                    cout<<sChange[k]<<endl;
                    
                }
                break ;
            }
            
        }
        
        if ( ( sChange[k] >= 'a' ) && ( sChange[k] <= 'z' ) )
        {
            for ( i = 0; i < 26;i++ )
            {
                if ( sChange[k] == sEnglish[i] )
                {
                    j = i;
                    sChange[k] = sEnglish[ 26 -j -1 ];
                    cout<<sChange[k]<<endl;
                    break;
                }                
            }
        }
    } 

 return 0;
}


代码不是很优化,希望的大家给出指点.
阅读(1122) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~