m = space(0)c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"for i = 1 to len(c)nc = asc(substr(c,i,1))if nc>64 and nc86m = m+chr(65+nc-87)ELSEm = m+chr(nc+4)ENDIF else IF nc>120m = m+chr(97+nc-121)ELSEm = m+chr(nc+2)ENDIF endifendfor wait w

来源:学生作业帮助网 编辑:六六作业网 时间:2024/04/27 21:48:25
m=space(0)c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"fori=1tolen(c)nc=asc(substr(c,i,1)

m = space(0)c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"for i = 1 to len(c)nc = asc(substr(c,i,1))if nc>64 and nc86m = m+chr(65+nc-87)ELSEm = m+chr(nc+4)ENDIF else IF nc>120m = m+chr(97+nc-121)ELSEm = m+chr(nc+2)ENDIF endifendfor wait w
m = space(0)
c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
for i = 1 to len(c)
nc = asc(substr(c,i,1))
if nc>64 and nc86
m = m+chr(65+nc-87)
ELSE
m = m+chr(nc+4)
ENDIF
else
IF nc>120
m = m+chr(97+nc-121)
ELSE
m = m+chr(nc+2)
ENDIF
endif
endfor
wait window c+"字符加密后后"+m
m = m+chr(65+nc-87)是什么意思?我知道这是在ASCII中的位置,但我不明白为什么要这样写
还有 ELSE
m = m+chr(nc+4)
为什么不直接写成m = m+chr(nc+4)而要加ELSE呢?
以及nc>120为什么要>X的位置呢?
当然后面的m = m+chr(97+nc-121)一点也不懂......
尽量写详细一点.我们周一有VFP课,所以请您尽快.我有很多问题要问您!

m = space(0)c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"for i = 1 to len(c)nc = asc(substr(c,i,1))if nc>64 and nc86m = m+chr(65+nc-87)ELSEm = m+chr(nc+4)ENDIF else IF nc>120m = m+chr(97+nc-121)ELSEm = m+chr(nc+2)ENDIF endifendfor wait w
字符加密后,按你的要求,需要形成一个循环,即W转换为A,X转换为B,以后类推,
我将你的代码修改为:
if nc>86 && 如果满足条件,执行以下代码
m = m+chr(65+nc-87)
ELSE &&如果不满足前面条件,执行以下代码,有”否则“的意思
m = m+chr(nc+4)
ENDIF
其中else后的
m = m+chr(nc+4)
是正常的延退4个字母加密转换,其意义自己去领会,但仅对NC86.chr(65+nc-87)其实就是chr(nc-22)的具体意义,请见以下推理:
chr(87)="W"→A=chr(65),nc=87,chr(65+nc-87)=CHR(65+87-87)=CHR(65)=A
chr(88)="X"→B=chr(66),nc=88,chr(65+nc-87)=CHR(65+88-87)=CHR(66)=B
chr(89)="Y"→C=chr(67),nc=89,chr(65+nc-87)=CHR(65+89-87)=CHR(67)=C
chr(90)="Z"→D=chr(68),nc=90,chr(65+nc-87)=CHR(65+90-87)=CHR(68)=D
至于m = m+chr(97+nc-121)也就是m=m+chr(nc-24)的意义,跟上面的原理差不多,
仅提示一点,大写字母的加密转换是延退4个字母,小写字母的加密转换是延退2个字母,所以是ASCII值大于120的“y","z"就要进行循环转换为 ”a","b",
chr(120)="x"
chr(97)=“a"

m = space(0)c = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzfor i = 1 to len(c)nc = asc(substr(c,i,1))if nc>64 and nc86m = m+chr(65+nc-87)ELSEm = m+chr(nc+4)ENDIF else IF nc>120m = m+chr(97+nc-121)ELSEm = m+chr(nc+2)ENDIF endifendfor wait w 条件函数iif(LEN、(space(3))>4,1,-1) 函数LEN(SPACE(5)-(SPACE5))的值 设abc='10'函数MOD(VAL(ABC),2)的值 已知△ABC的三边长为a、b、c,且a=m/n-n/m,b=m/n+m,c=2,(m>n>0),请判断△ABC的形状b=m/n+n/m 已知:a、b、c都不等于0,且a/|a|+b/|b|+c/|c|+abc/|abc|的最大值是m,最小值是n,则(m+n)^2009=? 已知三角形ABC的三边abc,且a=n分之m-m分之n,b=n分之m+m分之n,c=2.m大于n大于0,判定三角形ABC的形状. vf中 if s=space(0)是什么意思? 已知三角形ABC三边的长分别为a、b、c,且a=m/n-n/m,b=m/n=n/m,c=2(m>n>0),三角形ABC是不是直角三角形,理由 已知△ABC的三边为a、b、c,且a=m/n-n/m,b=m/n+n/m,c=2(m>n>0),判断△ABC的形状说明理由 已知三角形ABC的三边长为a,b,c,且a=m/n-n/m,b=m/n+n/m,c=2(m>n>0).判定三角形ABC的形状. 已知△ABC的三边长为a,b,c,且a=m/n-n/m,b=m/n+n/m,c=2(m>n>0).请判断△ABC的形状. 已知:a,b,c是△ABC三边长,且M=(a=b=c)(a=b-c)(a-b-c),那么:A.M>0B.M=0C.M 已知:a、b、c是三角形ABC三边长,且M=(a+b+c)(a+b-c)(a-b-c),那么( )A:M>0 B:M=0c:M 在三角形ABC中,sinA:sinB:sinC=m:(m+1):2m,则m的取值范围是( )A m 属于R B m>2 C m>0 D m>1/2 已知abc是三角形ABC的三边,关于m的方程(m-a)(m-b)+(m-c)(m-a)=0有两个相等实根,判断三角形的形状 马上要 快, 若abc是非零实数,由实数m=a/|a|+b/|b|+c/|c|+abc/│abc│组成的集合M,则下列判断正确的是A 0不∈M B -4不∈M C 2∈M D 4∈M 已知p=2a^3-abc,Q=b^2-c^2+abc,M=a^3+2b^2-abc,且(a+7)^2+|b-8|+|c|=0,求p-[2Q-3(M-P)]的值. 已知abc都是不为0的有理数,且满足abc的绝对值=-abc,设M=a/a的绝对值+b/b的绝对值+c/ c的绝对值,则M有可能的值为 一道简单的VF题设A=ABCD+space(5),B=efgh,则A-B的结果与下面哪个选项相同?A.ABCD+space(5)+efghB.ABCD+efghC.ABCD+efgh+space(5)D.ABCD+efgh+space(1)我觉得答案应该是B,但是书上的答案是C,为什么啊.想