华为机试——字符子串比较

来源:互联网 发布:mac可以玩童话吗 编辑:程序博客网 时间:2024/06/14 22:27

题目:编写一个函数,以大小写不敏感方式计算字符串的不相同的第一个字符的位置(位置从0开始计算),如果两个字符串相同,则返回-1;

输入:两个字符串,中间以’,’分隔

输出:不相同的第一字符的位置

样例输入:hello world,Hello World

样例输出:-1

#include<iostream>#include<string>#include<cctype>using namespace std;int cmp(string a,string b){    string::size_type i=0;    for(i=0;i<a.size() && i<b.size();i++)    {        if(a[i]==b[i])            i++;        else if(isalpha(a[i]) && isalpha(b[i]))        {            if(tolower(a[i])==tolower(b[i]))                i++;            else                return i;        }        else        {            if(a[i]!=b[i])                return i;        }    }    return -1;}int main(){    string s1,s2;    getline(cin,s1,',');    getline(cin,s2);    /*string::size_type pos=0;    pos=str.find(',');    s1=str.substr(0,pos);    s2=str.substr(pos+1);    cout<<s1<<" "<<s2;    */    //cout<<s1<<endl;    //cout<<s2<<endl;    cout<<cmp(s1,s2)<<endl;}
0 0
原创粉丝点击