课程首页 › 第4部分 › 第68课

第68课 字符串密码

第4部分 点、线、面、立体的组合 · 数组· 知识点:数组、字符

字符串密码(数组、字符)

截取到一段机密电文“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样例输出:

不是回文