用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出:一为原文输出;一为将字母变成其下字母(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) |