
c语言编程 电报密码问题
问题如下::有一行电文,已经按照下面规律译成密码A-Za-zB-Yb-yC-Xc-x.....能不能给个确切的程序...
问题如下::有一行电文,已经按照下面规律译成密码
A-Z a-z
B-Y b-y
C-X c-x
.....
能不能给个确切的程序 展开
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);
}
{
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);
}
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
利用ASCII码可以进行转换,大小写的ASCII码差别是32
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询