isalpha翻译(翻译密码)

本文目录
翻译密码
第一种方法,完全用代码来进行判断。假设变量为a,b,那么从a-v,A-V都可以用b=a+4来处理,对于w-z和W-Z,则b=a+4-26。
另一种方法就是通过数组建立一个对应表,比如a里面就从e-d,E-D,比如
数组\下标 0 1 2 ……
a a b c ……
b e f g ……
相对来说,第一种方法的代码量比较少。
------------------------------------------
下面的代码是第一种方法的实现。
1.定义了一个CONV_INTEVAL宏,用来表示数值变化的间隔,比如定义为4,就跟你现在的要求一致(a-》e),也可以改成其他数值(范围在0-26之间)(比如改成8,则a-》i,b-》j)。
2.unconv()是conv()的逆运算。
#include 《stdio.h》
#define CONV_INTEVAL 4
char *conv( char *, char * );
char *unconv( char *, char * );
int
main()
{
char s = "abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char d;
conv( s, d );
printf( "s=\n", s );
printf( "d=\n\n", d );
unconv( d, s );
printf( "d=\n", d );
printf( "s=\n\n", s );
getch();
}
char *conv( char * src, char * dest )
{
char *p;
for( p=src; *p; p++,dest++ ) {
if( (*p 》= ’a’ && *p 《= ’z’-CONV_INTEVAL) || (*p 》= ’A’ && *p 《= ’Z’-CONV_INTEVAL) )
*dest = *p+CONV_INTEVAL;
else if( (*p 》= ’z’-CONV_INTEVAL-1 && *p 《= ’z’) || (*p 》= ’Z’-CONV_INTEVAL-1 && *p 《= ’Z’) )
*dest = *p+CONV_INTEVAL-26;
else
*dest = *p;
}
return dest;
}
char *unconv( char * src, char * dest )
{
char *p;
for( p=src; *p; p++,dest++ ) {
if( (*p 》= ’a’+CONV_INTEVAL && *p 《= ’z’) || (*p 》= ’A’+CONV_INTEVAL && *p 《= ’Z’ ) )
*dest = *p-CONV_INTEVAL;
else if( (*p 》= ’a’ && *p 《= ’a’+CONV_INTEVAL-1) || (*p 》= ’A’ && *p 《= ’A’+CONV_INTEVAL-1) )
*dest = *p-CONV_INTEVAL+26;
else
*dest = *p;
}
return dest;
}
有谁知道怎么用C语言将zero弄成chur啊
分类: 电脑/网络 》》 程序设计 》》 其他编程语言
问题描述:
请各路神仙帮帮忙,用C语言编一个程序,能将输入的单词翻译成密码文,例如输入zreo,出来char,就是用一个字母后的第三个字母替换他,用a替换x,b替换y。c替换z 多谢阿
解析:
>if(c》’z’||c》’Z’) c=c-26;
这样不行吧?凡是小写字符全满足这个条件.
试试:(输入英文字母以外的字符即退出程序)
#include 《stdio.h》
#include 《ctype.h》
int main()
{
int ok = 1;
char buf, *p;
while (ok) {
scanf("%s", buf);
for (p=buf; *p; ++p)
if (isalpha(*p)) {
if ((*p》=’x’ && *p《=’z’)||(*p》=’X’ && *p《=’Z’)) *p -= 23;
else *p += 3;
} else ok = 0;
if (ok) puts(buf);
}
return 0;
}

更多文章:
数据库管理系统和数据库系统分别侧重(数据库,数据库管理系统,数据库系统,这三个分别是什么意思并举个实例)
2026年9月7日 17:00
springmvc的依赖(springMVC的注入方式有哪几种,这与springMVC依赖)
2026年9月7日 14:00
display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)
2026年9月7日 11:00
timestamp without time zone(Postgresql中to_date()函数使用问题)
2026年9月7日 09:40






