J_北理机试2013年 字符串大小写转换

/**
输入一组英文单词,按词典顺序排序,不区分大小写 

这个题目我依旧使用了最熟悉的sort函数和vector库!真的很好用~用过都说好、~

新使用了一个string大小小转换函数    transform(a.begin(),a.end(),a.begin(),towlower);

如果把towlower改成toupper就是变成大写字母啦~

在sort中使用transform函数 ,不区分大小写的题目要求,
**/
#include<iostream>
#include<string.h>
#include<algorithm>
#include<vector> 
using namespace std;
bool cmp(string a,string b){
    transform(a.begin(),a.end(),a.begin(),towlower);
    transform(b.begin(),b.end(),b.begin(),towlower);
    if(a>b) return 0;
    else if(a<b) return 1;
    else{
        if(a.length()>=b.length()) return 0;
        else return 1;
    }
}

void show(vector<string> A){
    cout<<"单词序列"<<endl; 
    for(int i=0;i<A.size();i++){
        cout<<A[i]<<" ";
    }
    cout<<endl;
}

int main(){
    vector<string> Word;
    string w;
    cin>>w;
    while(w!="##"){
        Word.push_back(w);
//        cout<<w;
        cin>>w;
    }
    cout<<endl;
    //show(Word);
    sort(Word.begin(),Word.end(),cmp);
    show(Word);
    return 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值