c语言 密码电文
有一行电文,已按下面规律译成密码:A-ZB=YC-X……a-zb-yc-x……即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编...
有一行电文,已按下面规律译成密码:A-Z B=Y C-X……a-z b-y c-x……即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文
展开
2013-06-07
展开全部
不好意思,刚才写的程序有点错误:现更正如下:(请编译人员不要删除!)
#include <stdio.h>
#include <string.h>
#define N 100
void main()
{
char s[N];
int i;
int a;
printf("Input String:");
scanf("%s",s);
for(i=0;i<=strlen(s);i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]=26-s[i]+64+1+64;
else if(s[i]>='a'&&s[i]<='z')
s[i]=26-s[i]+96+1+96;
}
printf("%s\n",s);
}
#include <stdio.h>
#include <string.h>
#define N 100
void main()
{
char s[N];
int i;
int a;
printf("Input String:");
scanf("%s",s);
for(i=0;i<=strlen(s);i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]=26-s[i]+64+1+64;
else if(s[i]>='a'&&s[i]<='z')
s[i]=26-s[i]+96+1+96;
}
printf("%s\n",s);
}
2013-06-07
展开全部
#include<stdio.h>
void main()
{
char str[30],s[30],ch;
int len=0,tmp;
printf("请输入字符串:");
scanf("%s",&str);
do
{
ch=str[len];
tmp=(int)ch;
if(tmp>=97)
{
tmp=25-(tmp-97);
tmp=tmp+97;
s[len]=(char)tmp;
}
else
{
tmp=25-(tmp-65);
tmp=tmp+65;
s[len]=(char)tmp;
}
len++;
}while(ch!='\0');
printf("密码报文:\n");
for(int i=0;i<len-1;i++)
{
printf("%c",s[i]);
}
printf("\n");
}
void main()
{
char str[30],s[30],ch;
int len=0,tmp;
printf("请输入字符串:");
scanf("%s",&str);
do
{
ch=str[len];
tmp=(int)ch;
if(tmp>=97)
{
tmp=25-(tmp-97);
tmp=tmp+97;
s[len]=(char)tmp;
}
else
{
tmp=25-(tmp-65);
tmp=tmp+65;
s[len]=(char)tmp;
}
len++;
}while(ch!='\0');
printf("密码报文:\n");
for(int i=0;i<len-1;i++)
{
printf("%c",s[i]);
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-07
展开全部
#include <stdio.h>
#define N 100
void main()
{
char s[N];
int i;
int a;
printf("Input String:");
scanf("%s",s);
for(i=0;i<=s.length;i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]=26-s[i]+65+1+65;
else if(s[i]>='a'&&s[i]<='z')
s[i]=26-s[i]+97+1+65;
}
for(i=0;i<s.length;i++)
printf("%s\n",s);
}
#define N 100
void main()
{
char s[N];
int i;
int a;
printf("Input String:");
scanf("%s",s);
for(i=0;i<=s.length;i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]=26-s[i]+65+1+65;
else if(s[i]>='a'&&s[i]<='z')
s[i]=26-s[i]+97+1+65;
}
for(i=0;i<s.length;i++)
printf("%s\n",s);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询