9.加密与解密

9.加密与解密

考查点:

        1、带空格字符串的输入

                cin.get(str,len);//这里注意如果输入多个字符串或者字符数组,如果代码为:cin.get(s1,len1);  cin.get(s2,len2);可能导致s2无法输入,因为cin.get保留换行,所以要在两个输入之间加入一个cin.get();

                cin.getline(str,len);

                getline(cin,str);

        2、旋转字符串(三种方法)

                如下链接:

                反转字符串(三种解法)——leetcode_笔记-CSDN博客_反转字符串
                这里采用第三种。

        

#include<iostream>
#include<string>
using namespace std;
string reverseS(string s, int a, int b);
int main()
{
	string s;
	getline(cin, s);
	int n = s.size();
	for (int i = 1; i <= n; i++)
	{
		if (n % i == 0)
		{
			s=reverseS(s, 0, i-1);
		}
	}
	cout << s;
	return 0;
}
string reverseS(string s, int a, int b)
{
	if (a >= b)
	{
		return s;
	}
	char temp = s[a];
	s[a] = s[b];
	s[b] = temp;
	return reverseS(s, ++a, --b);
}

【仅为个人见解,非标准解答!】

 

上一篇:十、oracle 常用函数


下一篇:C++ getline()面向行的输入