程序设计
huangxl1991
本人希望通过计算机技术给生活带来便利,化繁为简,改变生活。
展开
-
2.5反转字符串-用string类函数
#include <iostream> #include <string> using namespace std; int main () { string s; cin>>s; cout<<"pre:"<<s<<endl; s.assign(s.rbegin(),s.rend());//逆序开始位置迭代,逆序结束位置迭代 cout<<"post:"<<s<<endl; r.原创 2020-08-21 15:37:07 · 241 阅读 · 0 评论 -
2.6子串判断-与接收键盘输入
接收键盘输入(cin): 1.按空格: 1个变量输入完成,不输出; 2.按回车(换行符): 1个变量输入完成,将输出流中内容全部输出; 3.输入终止EOF(为int类型): ctrl+z(要求上个输入位换行符时才起作用,因为EOF从文件由来) #include <iostream> #include <string> using namespace std; int main () { string s,t; while(cin>>s>>原创 2020-08-21 15:28:10 · 105 阅读 · 0 评论 -
2.5翻转字符串(以空格为界)
#include<iostream> #include<string> //#include<bits/stdc++.h> //#include<cstring> using namespace std; //翻转字符串(指定左右边界) void ReverseStr(string & str,int left,int right){ if(left>right)return; for(int i=left,j=right;i!.原创 2020-08-20 11:17:55 · 265 阅读 · 0 评论 -
2.4 Manacher‘s ALGORITHM(马拉车算法): O(n)复杂度求字符串的最长回文子串
/*算法功能:奇数串最长回文串长度-Manacher算法(马拉车算法) 思路:1.转换原始串字符个数为奇数个(2n+1个):int INIT(char *st) 2.计算所有字符的回文半径(mx-前面计算回文串最右位置,po-最右位置对应中心下标); 3.最长回文长度=max(回文半径)-1 调用:scanf("%s",str); int len = INIT(str); printf("%d\n",MANACHER(tmp,len)); @param:char *st-转换后字符数组,le...原创 2020-08-19 14:56:36 · 133 阅读 · 0 评论 -
C++程序-多行字符输入并判断类别(安全密码问题)
/*题目:安全密码判断; 一般来说一个比较安全的密码至少应该满足下面两个条件: (1).密码长度大于等于8,且不要超过16。 (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。 这四个字符类别分别为:1.大写字母:A,B,C...Z; 2.小写字母:a,b,c...z; 3.数字:0,1,2...9; 4.特殊符号:~,!,@,#,$,%,^(除以上三类均认定为特殊字符); 给你一个密码,你的任务就是判断它是不是一个安全的密码。 输入输出要求:请输入行数n和n行密码,并输出是原创 2020-08-13 16:14:05 · 866 阅读 · 2 评论