乐迪钱魏润禹


私信TA

用户名:qwry

访问量:4613

签 名:

等  级
排  名 1051
经  验 3277
参赛次数 14
文章发表 18
年  龄 0
在职情况 学生
学  校 乐迪教育
专  业

  自我简介:

1001100101101101101111111

(要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母

例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。)

第四个字母,就是把输入的字母的每一位往后移4位

(C→G:

A B C D(1) E(2) F(3) G(4) H......)

移4位,总不能用if(如果)语句把所有情况列举出来吧?

要是能像数字一样,直接加4就好了

还真有,如果让一个整形变量装字符,字符就会变成一个特定的值,这个值叫做ASCII码

32: ' '

33: '!'

34: '"'

35: '#'

36: '$'

37: '%'

38: '&'

39: '''

40: '('

41: ')'

42: '*'

43: '+'

44: ','

45: '-'

46: '.'

47: '/'

48: '0'

49: '1'

50: '2'

51: '3'

52: '4'

53: '5'

54: '6'

55: '7'

56: '8'

57: '9'

58: ':'

59: ';'

60: '<'

61: '='

62: '>'

63: '?'

64: '@'

65: 'A'

66: 'B'

67: 'C'

68: 'D'

69: 'E'

70: 'F'

71: 'G'

72: 'H'

73: 'I'

74: 'J'

75: 'K'

76: 'L'

77: 'M'

78: 'N'

79: 'O'

80: 'P'

81: 'Q'

82: 'R'

83: 'S'

84: 'T'

85: 'U'

86: 'V'

87: 'W'

88: 'X'

89: 'Y'

90: 'Z'

91: '['

92: '\'

93: ']'

94: '^'

95: '_'

96: '`'

97: 'a'

98: 'b'

99: 'c'

100: 'd'

101: 'e'

102: 'f'

103: 'g'

104: 'h'

105: 'i'

106: 'j'

107: 'k'

108: 'l'

109: 'm'

110: 'n'

111: 'o'

112: 'p'

113: 'q'

114: 'r'

115: 's'

116: 't'

117: 'u'

118: 'v'

119: 'w'

120: 'x'

121: 'y'

122: 'z'

123: '{'

124: '|'

125: '}'

126: '~'

用代码(以下)可得到

#include<iostream>

using namespace std;

int main()

{

    for(int i=32;i<=126;i++)

    {

        cout<<i<<':'<<" '"<<char(i)<<"'"<<endl;

    }

}

强制转换也行

其中,在进行运算时char(i)表示把i强制转换成char形式来输出

所以,我们先定义一个字符串,输入字符串c,用for循环把c一位一位的转换成int形式,加上4,在转换成int形式,最后输出字符串

#include<iostream>

#include<cstring>   //字符串的输入,输出函数头文件

//c++万能头文件,包含了大部分的头文件 #include<bits/stdc++.h>

using namespace std;

int main()

{

    char c[256];   //定义字符串c

    gets(c);

    for(int i=0;i<strlen(c)/*求字符串c的长度*/;i++)

    {

        if(c[i]>='A'&&c[i]<='V'||c[i]>='a'&&c[i]<='v')   //加密ing

        {

            c[i]=char((int)c[i]+4);

        }

        else if(c[i]>='W'&&c[i]<='Z'||c[i]>='w'&&c[i]<='z')   //加密ing

        {

            c[i]=char((int)c[i]+4-26);

        }

    }

    puts(c);

    return 0;

}

参考程序

#include<iostream>

#include<cstring>

using namespace std;

int main()

{

    char c[256];

    gets(c);

    for(int i=0;i<strlen(c);i++)

    {

        if(c[i]>='A'&&c[i]<='V'||c[i]>='a'&&c[i]<='v')

        {

            c[i]=char((int)c[i]+4);

        }

        else if(c[i]>='W'&&c[i]<='Z'||c[i]>='w'&&c[i]<='z')

        {

            c[i]=char((int)c[i]+4-26);

        }

    }

    puts(c);

    return 0;

}


 

0.0分

3 人评分

  评论区

真棒
2022-07-02 15:57:41
  • «
  • 1
  • »