#include
using namespace std;
int main (){
string a,b,c,d;
char week[7][5]={"MON","TUE","WED","THU","FRI","SAT","SUN"};//切记,字符串长度需要+1
cin>>a>>b;
bool daxie[24]={0}; //输出日期
bool zifu[25]={0};
for(int i=0;i<a.length();i++){
if(a[i]>='A'&&a[i]<='Z') daxie[a[i]-'A']=1;
}
int pos;//记录第一对相同大写字母位置
for(int i=0;i<b.length();i++){
if(b[i]>='A'&&b[i]<='Z'&&daxie[b[i]-'A']==1) {
cout<<week[b[i]-'A']<<' ';
pos=i;
break;
}
}
for(int i=0;i<=a.length();i++){ //输出小时
if(a[i]>='A'&&a[i]<='N') {
zifu[a[i]-'A'+9]=1;
}
else if(a[i]>='0'&&a[i]<='9') zifu[a[i]-'0']=1;
}
for(int i=0;i<=b.length();i++){
if(b[i]>='A'&&b[i]<='N') {
if(zifu[b[i]-'A'+9]==1&&i!=pos) cout<<setprecision(2)<<b[i]-'A'+9<<':';
break;
}
else if(b[i]>='0'&&b[i]<='9'){
if(zifu[b[i]-'0']==1&&i!=pos) cout<<setprecision(2)<<b[i]-'0'<<':';
break;
}
}
}
#include
#include
using namespace std;
int main (){
string a,b,c,d;
char week[7][5]={"MON","TUE","WED","THU","FRI","SAT","SUN"};//切记,字符串长度需要+1
cin>>a>>b>>c>>d;
int len1=a.length(),len2=b.length();
int len3=c.length(),len4=d.length();
int i;
for(i=0;i<len1&&i<len2;i++){
if(a[i]==b[i]){
if(a[i]>='A'&&a[i]<='G'){
cout<<week[a[i]-'A']<<' ';
break;
}
}
}
for(i++;i<len1&&i<len2;i++){
if(a[i]==b[i]){
if(a[i]>='0'&&a[i]<='9') {
cout<<setfill('0')<<setw(2)<<a[i]-'0'<<':';
break;
}
if(a[i]>='A'&&a[i]<='N') {
cout<<a[i]-'A'+10<<':';
break;
}
}
}
for(int i=0;i<len3&&i<len4;i++){
if(c[i]==d[i]){
if(c[i]>='A'&&c[i]<='Z'){
cout<<setfill('0')<<setw(2)<<i;
break;
}
else if(c[i]>='a'&&c[i]<='z'){
cout<<setfill('0')<<setw(2)<<i;
break;
}
}
}
}
备注:cin、cout的固定位数输出
1. 用流操作算子setfill,setw,setbase,setprecision
2. setw(int n)只是对直接跟在<<后的输出数据起作用,而在之后的<<需要在之前再一次使用setw
3. setfill(‘char x’)使用x来填充空下的空格
4. setprecision(int n)设置精度
2. 用成员函数:width(int n),precision(int n)