牛客编程题目整理

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” 


#include 
#include 
using namespace std; 
int main() {


      string str; 
      getline(cin,str);//读取整行输入
      string s; 
      cin>>s; 
      int flag[256]={0}; 
      for(int i=0;i               flag[s[i]-'0']=1; 
       for(int i=0;i               if(flag[str[i]-'0']==1) 
                      { str=str.erase(i,1); 
                      i--; //下次循环依然从这个位置开始

                      } 
          }
          cout<           str.clear();              
      return 0;     
}



找出n个数里最小的k个

输入描述:
每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n
不超过100。


输出描述:
输出n个整数里最小的k个数。升序输出

输入例子:
3 9 6 8 -10 7 -11 19 30 12 23 5

输出例子:
-11 -10 3 6 7


#include
#include
#include
#include
using namespace std;
 
int main() {
     int x;
     vector < int > v;
     while (cin>>x){
         v.push_back(x);
     }
     int n=v.back();
     v.pop_back();
     sort(v.begin(),v.end());
     for ( int i= 0 ;i 1 ;i++) {
         cout< ' ' ;
     }
     cout< 1 ]<
     return 0 ;
}


将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I

思路:循环压入向量倒序输出即可;

#include
#include
#include
using namespace std;
int main(){
     string str;
     vector v;
     while (cin>>str){
         v.push_back(str);
     }
     for ( int i=v.size()- 1 ;i> 0 ;i--){
         cout< ' ' ;
     }
     cout< 0 ]<
     return 0 ;
}

你可能感兴趣的:(c++学习)