程序填空将字母转换成密码(本题要求编写程序,将英文字母替换加密)

2023-03-01 10:29:50 密码用途 思思

【程序填空】将字母转换成密码,转换规则是将当前字母变成其后的第 四个字母

#include stdio.h

main()

{char c;

/***********SPACE***********/

while((c=getchar())!='\n')

/***********SPACE***********/

{if((c='a'c='z')||(c='A'c='Z'))c+=4;;

/***********SPACE***********/

if((c'Z'c='Z'+4)||c'z')c-=26;

printf("%c",c);

}

}

已验证

c语言编写:将用户输入的字符串翻译成密码串:规则如下?

a b c d e f g h i j

例子里输入ab,cd

a是第1个字符,那么换成a后面第1个,也就是b

b是第2个字符,那么换成b后面第2个,也就是d

到这里都没错

c是第4个字符,那么换成后面第4个,也就是g,为什么题目示例是h???

#include stdio.h

#include ctype.h

int main()

{

int i=0;

char str[1001];

fgets(str,1000,stdin);

while(str[i]){

if(islower(str[i]))

str[i]=97+(str[i]+i-96)%26;

else if(isupper(str[i]))

str[i]=65+(str[i]+i-64)%26;

i++;

}

puts(str);

return 0;

}

程序填空将字母转换成密码(本题要求编写程序,将英文字母替换加密) 第1张

C++:要将任意给定字母组成的字符串译成密码。

#includeiostream

using namespace std;

#define SKIP 4

int main(){

    char str[21]="China#";

    cout  "译码前:" "\b " str  endl;

    // 这里跳过合法性检查。

    for (int i = 0; i  21  str[i] != '#'; i++){

        if (str[i] = 65  str[i] = 90){

            if (str[i] + SKIP90) str[i] = 65 + (str[i] + SKIP - 90);// 重新到回头部。

            else str[i] = str[i] + SKIP;

        }

        else{

            if (str[i] + SKIP122) str[i] = 97 + (str[i] + SKIP - 122);// 重新到回头部。

            else str[i] = str[i] + SKIP;

        }

    }

    cout  "译码后:" "\b " str  endl;

    return 0;

}

另外多说一句,如果A译成E,那么你举的例子:“Who”应译为“Als”就不正确了,应该是“Who”应译为“Bls”才正确。