当前进度为一周三篇。。。。。。》》》》》》》》
字符串篇
A: 找第一个只出现一次的字符
题目描述
给给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入
一一个字符串,长度小于等于100000。
输出
输输出第一个仅出现一次的字符,若没有则输出no。
输入样例
abcabd
输出样例
c
样例代码
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=0;i<s.length();i++){
string::size_type t=s.find(s[i]);
if(s.find(s[i],t+1)==string::npos){
cout<<s[i]<<endl;
return 0;
}
}
cout<<"no";
return 0;
}
问题 B: 整理药名
题目描述
医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的 药品名整理成统一规范的格式,即药品名的第一个字符是字母要大写,其他字母小写。如 将 ASPIRIN、aspirin整理成Aspirin。
输入
第一行一个数字n,表示有n个药品名要整理,n不超过100。
接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-组成。
输出
n行,每行一个单词,对应输入的药品名的规范写法。
输入样例
4 AspiRin cisapride 2-PENICILLIN Cefradine-6
输出样例
Aspirin Cisapride 2-penicillin Cefradine-6
样例代码
#include<bits/stdc++.h>
using namespace std;
string s;
int main(){
int n,len;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
len=s.size();
if(s[0]<='z'&&s[0]>='a'){
s[0]-=32;
}
for(int j=1;j<len;j++){
if(s[j]<='Z'&&s[j]>='A'){
s[j]+=32;
}
}
cout<<s<<endl;
}
return 0;
}
问题C: 解析等式中的数字
题目描述
给定一个加法运算等式,求解其中的数字
例如:157+236=393
需要输入 157 236 393
输入
一行字符串a+b=c,可能含有负数,保证a,b,c <=90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
输出
输出a b 和 c
样例输入
59+32=91
样例输出
59 32 91
样例代码
#include<iostream>
using namespace std;
string s;
int main(){
cin>>s;
int len=s.size();
for(int i=0;i<len;i++){
if(s[i]=='='||s[i]=='+')cout<<" ";
else cout<<s[i];
}
return 0;
}