题目:F - All in All UVA - 10340原地址 题目意思:如果第一个字符串里的数字在第二个中能依次找到,输出yes,否则,输出no 思路:运用find函数即可非常方便 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; int main(){ string s1,s2; while(cin >> s1 >> s2){ int len = s1.length(); int f=1,k=0; for(int i=0;i<len;i++){ //if(s2.find(s1[i],k)!=-1) {都行 if(s2.find(s1[i],k)!=string::npos) { k=s2.find(s1[i],k)+1; } else { f=0; break; } } if(f) cout << "Yes" << endl; else cout << "No" << endl; } return 0; } /* C++中string的find()函数的用法 string的find()函数用于找出字母在字符串中的位置。 find(str,position) find()的两个参数: str:是要找的元素 position:字符串中的某个位置,表示从从这个位置开始的字符串中找指定元素。 可以不填第二个参数,默认从字符串的开头进行查找。 返回值为目标字符的位置,当没有找到目标字符时返回string::npos。(或-1) */ 讲一下find()函数用法: find()函数有两个参数,第一个是要查找的字符,第二个是起始的位置。不输第二个默认从头开始。头文件string find(str,position) 返回值为目标字符的位置,当没有找到目标字符时返回string::npos。(或-1)