NOI题解(1.7编程基础之字符串)(待补全)

来源:互联网 发布:电脑挂机赚钱软件 编辑:程序博客网 时间:2024/09/21 06:17

01:统计数字字符个数

#include "iostream"#include "iomanip"using namespace std;int main(){    string str;    getline(cin,str);    int count=0;    for(int i=0;i<str.length();i++)    {        if(str.at(i)>=48&&str.at(i)<=57)        {            count++;//            cout<<str.at(i)<<endl;        }    }    cout<<count;    return 0;}

02:找第一个只出现一次的字符

#include "iostream"#include "iomanip"using namespace std;int main(){    string str;    getline(cin,str);    bool flag=false;    int num[26]={0};    for(int i=0;i<str.length();i++)    {        //a-0x61 97(10进制)        num[str.at(i)-97]++;    }    for(int i=0;i<str.length();i++)    {        if(num[str.at(i)-97]==1)        {            cout<<str.at(i);            flag=true;            break;        }    }    if(!flag)        cout<<"no"<<endl;    return 0;}

03:基因相关性

#include "iostream"#include "iomanip"using namespace std;int main(){    double num;    cin>>num;    string str1,str2;    cin>>str1>>str2;    int count=0;    for(int i=0;i<str1.length();i++)    {        if(str1.at(i)==str2.at(i))        {            count++;        }    }    double cmp=count/(double)str1.length();    if(cmp>=num)        cout<<"yes";    else        cout<<"no";    return 0;}

04:石头剪子布

#include "iostream"#include "iomanip"using namespace std;void cmpStr(string str1,string str2){    if(str1=="Rock")    {        if(str2=="Rock")            cout<<"Tie"<<endl;        else if(str2=="Scissors")            cout<<"Player1"<<endl;        else            cout<<"Player2"<<endl;    }else if(str1=="Scissors")    {        if(str2=="Rock")            cout<<"Player2"<<endl;        else if(str2=="Scissors")            cout<<"Tie"<<endl;        else            cout<<"Player1"<<endl;    }else    {        if(str2=="Rock")            cout<<"Player1"<<endl;        else if(str2=="Scissors")            cout<<"Player2"<<endl;        else            cout<<"Tie"<<endl;    }}int main(){    int N;    cin>>N;    string str1,str2;    for(int i=0;i<N;i++)    {        cin>>str1>>str2;        cmpStr(str1, str2);    }    return 0;}


0 0