早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一道很简单的C++编程题.用户首先输入一句英文诗,最长100个单词,每个单词最多100个字母,均为小写字母,中间不包含标点符号,以英文句号'.'结尾.接着用户输入两个数字n和k.把该英文句子中的第

题目详情
一道很简单的C++编程题.
用户首先输入一句英文诗,最长100个单词,每个单词最多100个字母,均为小写字母,中间不包含标点符号,以英文句号'.'结尾.接着用户输入两个数字n和k.
把该英文句子中的第n个单词采用上题中的加密方法(就是按照字母表向后数第k个字母,到结尾循环到开头)加密输出.
输入:
every time when you pass by
you take my breath away.
10
2
输出:
dtgcvj
提示:
1.输入的英文句子可以考虑用指针数组存储,动态申请内存(实在没掌握开大二维数组也行!).
2.可以用上题的程序做一个函数本题使用.
3.注意英文诗句的最后一个单词不包含句号'.',句号只是作为提示诗句结束使用.
可能用到的函数:
strlen 求字符串长度
strcpy 拷贝字符串
以上是原题,加密的函数我已编出,我刚刚学c++,学到函数与指针,答案中不希望出现较高级的语法
▼优质解答
答案和解析
首先接收字符串用string :string str; cin>>str;用string的好处就是可以不用你管理内存分配
将分开的单词储存用vector:vector strVec;
储存单词:strVec.push("单词")或者strVec.push(string对象).
分离单词可以利用string中的find函数,找到空格然后跳过以此分离单词
至于你说的strlen什么的字符串操作那都是C中用的,过时了
看了一道很简单的C++编程题.用户...的网友还看了以下: