.急求一道c语言编程题!!!

用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母(如’a’变成’b’……….’z’变成’a’。其他字符不变)。用#define命令来控制是否要译成密码。例如:#define change 1 ,则输出密码。若#define change 0,则不译成密码,按原码输出。
俺没分加了,--!

第1个回答  2008-06-19
//---------------------------------------------------------------------------

#include <stdio.h>
#include <ctype.h>
#define change 0

int main(void)
{
char str[80];/*字符串长度最大为80(包括结束字符)*/
int i;
scanf("%79[^\n]",str);/*输入最多79个字符,用回车结尾*/
#if (change)
for (i = 0; str[i]; i++)
if (isalpha(str[i]))
if (str[i]=='z') putchar('a');
else if (str[i]=='Z') putchar('A');
else putchar(str[i]+1);
else putchar(str[i]);
#else
printf("%s\n",str);
#endif

return 0;
}
//---------------------------------------------------------------------------本回答被提问者采纳
相似回答