Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2539921
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-08-12 17:57:57

    用条件编译方法实现以下功能:
    输入一行电报文字,可以任选两种输出:一为原文输出;一为将字母变成其下字母(a 变 b,b变c,z变a,其它字符不变)。用#define命令控制是否要译成密码。
    我们可以编写一个函数用来加密字符,然后使用宏的条件编译控制是否进行加密操作,代码如下:
 

#include <stdio.h>
#define MAX 100
#define CHANGE 1

char pass_char(char);
int main(int argc, char *argv[])
{
    char ch[MAX];
    int i;
    printf("input a string:\n");
    gets(ch);
    #if CHANGE
    for (i = 0;i <= strlen(ch);i++)
    {
        ch[i] = pass_char(ch[i]);
    }
    #endif
    
    printf("the string is:\n");
    puts(ch);
    system("pause");
    return 0;
}

char pass_char(char ch)
{
     char c = ch;
     if ((c >= 'a' && c < 'z') || (c >= 'A' && c < 'Z'))
     {
        c += 1;
     }
     else if ('z' == c || 'Z' == c)
     {
          c -= 25;
     }
     else
     {
         ;
     }
     return c;
}


阅读(3082) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~