(要将"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 人评分
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:1392 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:610 |
C二级辅导-统计字符 (C语言代码)浏览:529 |
【绝对值排序】 (C语言代码)浏览:832 |
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1493 |
WU-拆分位数 (C++代码)浏览:819 |
三角形 (C++代码)递推浏览:825 |
1011题解浏览:819 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:438 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:954 |
乐迪钱魏润禹 2023-10-19 19:59:54 |
一年后的自己来啦