C语言的密码翻译程序

有一行电文,已按下面规律译成密码:
A->Z a->z
B->Y b->y
C->X c->x
......
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母
字符不变,要求编程将密码译回原文,并输出密码和原文。

main()
{
char *str="aabbcc112546XXXyyyzzz";//密码
printf("密码:%s\n",str);
//解密
printf("原文:");
int i=0;
while(str[i]!='\0')
{
if(str[i]>64&&str[i]<91)
{
printf("%c",(26-(str[i]-64)+1)+64);
i++;
continue;
}
if(str[i]>96&&str[i]<123)
{
printf("%c",(26-(str[i]-96)+1)+96);
i++;
continue;
}
printf("%c",str[i]);
i++;
}
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-25
#include <stdio.h>

void translate(char *code)//将密码字符串code打印并翻译
{
puts(code);//打印密码
while (*code)//逐位翻译并打印密码
{
if (*code>='a' && *code<='z') putchar('z'-*code+'a');
else if (*code>='A' && *code<='Z') putchar('Z'-*code+'A');
else putchar(*code);
code++;
}
putchar('\n');
}
第2个回答  2007-05-25
void f(char*str)
{ int *pi;
*pi=str;
count=0
while(*pi&&*pi!='\0')
{if(*pi==32) count++;
pi++
}
if(*pi=='\0') count++;
return count;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网