第68课 字符串密码
字符串密码(数组、字符)
截取到一段机密电文“ecalp lausu ruo ta rehtag ew noonretfa yadrutas”,这到底是什么意思呢?
经过一番研究才知道,电文采用了倒序排列的方式进行传输,现在我们需要将电文正序排列才能获取到内容的真实含义。
温故知新

运行程序:
输入:
ecalplausuruotarehtagewnoonretfayadrutas输出:
saturdayafternoonwegatheratourusualplace

(1)输入字符数组长度cin>>length,确定数组长度后再运用for循环逐一将字符输入。
(2)使用从数组最后一个字符开始输出的方式,将字符数组倒序输出。

字符破解
试试字符串吧!

运行程序:
输入:
ecalp lausu ruo ta rehtag ew noonretfa yadrutas输出:
saturday afternoon we gather at our usual place

(1)声明一个字符串变量str用来存放文字。
(2)getline(cin,str):借助getline()函数读取字符串,其中cin表示我们从输入流(也就是我们的输入)中读取,然后存放到字符串str中。
(3)字符串可以看作一个字符数组,同样按照倒序的方式将其中的字符逐一输出。

敲黑板
getline(cin, str)是getline函数的调用。它的第一个参数是输入流对象cin,表示标准输入;第二个参数是一个字符串变量str,也就是我们声明的字符串变量,用于存储用户输入的一行文本。
getline函数会读取用户输入的整行文本,包括空格和其他字符,直到遇到回车键(Enter键)。然后,它将这一行文本存储到字符串变量str中。

巩固练习
(1)字符串是什么数据类型?()
A.int B.char C.string D.double(2)根据程序的输出,完善程序。

运行程序:
字符串的长度是: 13
(3)编写一个C++程序,判断输入的一段字符串是否为回文,如果是,就输出“是回文”;如果不是,就输出“不是回文”。
示例1:
样例输入:
abcddcba样例输出:
是回文
示例2:
样例输入:
fsdfk样例输出:
不是回文