|
|
替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。
void encryptChar()
{
int i,j,t;
for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t<=32 || xx[i][j]%2==0) continue; xx[i][j]=t; } } } 3题替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t='a' && xx[i][j]<='z')) continue; xx[i][j]=t; } } } 5题替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,strl; int t; for (i=0;i strl=strlen(xx[i]); for(j=0;j t=xx[i][j]*11%256; if (t='0' && t<= '9')) continue; xx[i][j]=t; } } } 7题替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t='A' && t<='Z')) continue; xx[i][j]=t; } } } 9题替代关系:f(p)=p*13 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是偶数,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*13%256; if(t<=32 || t%2==0) continue; xx[i][j]=t; } } } 27题函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConverCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT4.DAT中。 void convertchard(void) { int i,n,j; for(i=0;i for(j=0;j {if(xx[i][j]>'a') xx[i][j]-=1; else xx[i][j]='z'; } } 30题下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字符,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char *s)实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。 void chg(char *s) { int i,j,k; k=strlen(s); for(i=0;i s[i]-=25; else if(isalpha(s[i])) s[i]+=1; } } 73、以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母Z,则改写成字母A.大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变. void convertcharA(void) { char *p; int i; for(i=0;i while(*p) {if(*p=='z') *p='a'; else if(*p>='a'&&*p<'z') *p=*p+1; p++; } } } 79、以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。 void ShA(void) { int i,j; char t1; for(i=0;i for(j=0;xx[i][j+1]!='\0';j++) xx[i][j]=xx[i][j]+xx[i][j+1]; xx[i][j]=xx[i][j]+t1; /*注意:当xx[i][j+1]!='\0'这个条件不满足时,j的值已经为字符串的最后一位的下标值了*/ } } 091题替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t130) continue; xx[i][j]=t; } } } 093题替代关系:f(p)=p*17mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*17%256; if(t<=32 || t%2==1) continue; xx[i][j]=t; } } } 095题关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变, void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t='a' && t<='z')) continue; xx[i][j]=t; } } } 097题替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t='A' && xx[i][j]<='Z')) continue; xx[i][j]=t; } } } 099题替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j,t; for(i=0;i for(j=0;j t=xx[i][j]*11%256; if(t='0' && xx[i][j]<='9')) continue; xx[i][j]=t; } } }