看别人店铺数据:c语言编程 电报密码问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 15:17:18
问题如下::有一行电文,已经按照下面规律译成密码

A-Z a-z

B-Y b-y

C-X c-x

.....
能不能给个确切的程序

int main()
{
char ch;
char c[100];
int i=0;
int AZ = 'A' + 'Z';
int az = 'a' + 'z';
printf("Please input:\n");
while((ch=getch()) != 13)
{
putch(ch);
if(ch>='A' && ch<='Z')
{
c[i++] = AZ - ch;
continue;
}
if(ch>='a' && ch<='z')
{
c[i++] = az - ch;
continue;
}
c[i++] = ch;
}
c[i] = '\0';
printf("\n%s\n",c);
}

晕~又一个校友~~偶的 已经过了~

main()
{char a[30];int i;
gets(a);
for(i=0;a[i]!='\0';i++)
{if(a[i]>='a'&&a[i]<='z') a[i]=219-a[i];
if(a[i]>='A'&&a[i]<='Z') a[i]=155-a[i];}
puts(a);

}

发现规律了,把26个字母翻过来对应。所以'A' + 'Z' ='a' + 'z'= 'B' + 'Y'= 'b'+ 'y'……注意是单引号表示ASC码的值,那样就好办了。如果求一个字母对应的另外一个字母,一个简单的减法运算就搞定喽!

C的字符性数据和整形数据可以通换
利用ASCII码可以进行转换,大小写的ASCII码差别是32