A1061
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
char t[2];
//输入四个字符串,前两个字符串代表星期几和时间中的时,后两个字符串代表时间中的分
string a,b,c,d;
string week[7]={"MON ","TUE ","WED ","THU ","FRI ","SAT ","SUN "};
cin>>a>>b>>c>>d;
//当我输入这四个字符串之后,我就应该找前两个字符串第一对相同字母和第二对相同的字母。
int i=0,j=0;
while(i<a.length()&&i<b.length())
{
if(a[i]==b[i]&&(a[i]>='A'&&a[i]<='G'))
{
t[0]=a[i];
break;
}
i++;
}
i++;
while(i<a.length()&&i<b.length())
{
if(a[i]==b[i]&&((a[i] >= 'A' && a[i] <= 'N') || isdigit(a[i])))
{
t[1]=a[i];
break;
}
i++;
}
int pos=0;
while(j<c.length()&&j<d.length())
{
if(c[j]==d[j]&&isalpha(c[j]))
{
pos=j;
break;
}
j++;
}
int m=isdigit(t[1])?t[1]-'0':t[1]-'A'+10;
cout<<week[t[0]-'A'];
printf("%02d:%02d",m,pos);
return 0;
}
A1073 未AC
//patA1073
//c++特性中的stoi,stod
//stoi:将string转换为int
//stod:将string转换为double
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cin>>s;
int i=0;
while(s[i]!='E') i++;
string n=s.substr(1,i-1);//n是整个数(不包括符号)
int m=stoi(s.substr(i+1)); //m有正有负,小于0时向左移,大于0时向右移
if(s[0]=='-')
{
cout<<"-";
}
//看小数点在哪个位置,看m的绝对值
//小数点都在i=2的位置上
//如果m<0,小数点向左移m位
if(m<0)
{
cout<<"0.";
for(int j=0;j<abs(m)-1;j++)
{
cout<<"0";
}
for(int j=0;j<n.length();j++)
{
if(n[j]!='.') cout<<n[j];
}
}else{
cout<<n[0];
int cnt,j;
for(j=2,cnt=0;j<n.length()&&cnt<m;j++,cnt++) cout<<n[j];
if(j==n.length()){
for(int k=0;k<m-cnt;k++)
cout<<'0';
}else{
cout<<'.';
for(int k=j;k<n.length();k++) cout<<n[k];
}
}
return 0;
}