纯字符串模拟题
一看到这个三进制就害怕了,还以为是什么进制转换呢,仔细一看发现是一个字符串模拟题。
直接枚举每个字符,判断这个字符是不是′.′′−′'.''-'′.′′−′和′+′'+'′+′,而且还要在字符是′−′'-'′−′的情况下将下一个字符变成空格
,以防多输出一个。
代码:
#include<bits/stdc++.h>//万能头 using namespace std; string s; int main(){ cin>>s;//将数据读入进来 for(int i=0;i<s.size();i++){ if(s[i]=='.')//如果这个字符是.的话 cout<<"0";//按照题目要求输出0 else if(s[i]=='-'&&s[i+1]=='.')//如果这个字符是-号的话并且下一个字符是.的话 cout<<"1",s[i+1]=' ';//输出1,并将下一个字符变成空格(防止多输出一个0) else if(s[i]=='-'&&s[i+1]=='-')//如果这个字符是-号的话并且下一个字符也是-的话 cout<<"2",s[i+1]=' ';//输出2,并将下一个字符变成空格(防止多输出一个1) } return 0;//结束了 }