这是我第一道大模拟的紫题QWQ
题目不难。有几个坑:
1.数字有可能出现在拓展名末尾
2.人家给的数字是几你就要从几计数
代码:
/*
1
aa.in10 aa.ou0
aa.in1 aa.ou1
aa.in2 aa.ou2
*/
/*
enger1.in ans
abc1.in abc1.out
abc2.in abc2.out
abc3.in abc3.out
abc4.in abc4.out
*/
#include<bits/stdc++.h>
using namespace std;
char a[10005],b[10005],c[10005],name[10005],hz[10005];
char hzm[10005];
int la,lb,lc,r,fb=1,fc=1,fnum,cnt;
int main(){
cin>>a;
if(a[0]=='1'||a[0]=='0'){
r=a[0]-'0';
while(cin>>b>>c){
fb=1,fc=1;
lb=strlen(b);
lc=strlen(c);
for(int i=0;i<lb;i++){
if(b[i]>='0'&&b[i]<='9'){
if(!fb) continue;
fb=0;
cout<<r;
}
else cout<<b[i];
}
cout<<' ';
for(int i=0;i<lc;i++){
if(c[i]>='0'&&c[i]<='9'){
if(!fc) continue;
fc=0;
cout<<r;
}
else cout<<c[i];
}
cout<<endl;
r++;
}
}
else{
la=strlen(a);
cin>>hz;
for(int i=0;i<la;i++){
if(a[i]>='0'&&a[i]<='9'){
r*=10;
r+=a[i]-'0';
}
}
for(int i=0;i<la;i++){
if(a[i]>='0'&&a[i]<='9'){
fnum=1;
}
if(a[i]=='.'&&fnum==0){
for(int j=0;j<i;j++){
name[j]=a[j];
}
for(int j=i+1;j<la;j++){
if(a[j]>='0'&&a[j]<='9'){
break;
}
else{
hzm[cnt]=a[j];
cnt++;
}
}
break;
}
if(a[i]=='.'&&fnum==1){
for(int j=0;j<i;j++){
if(a[j]>='0'&&a[j]<='9'){
break;
}
else name[j]=a[j];
}
for(int j=i+1;j<la;j++){
hzm[cnt]=a[j];
cnt++;
}
}
}
// cout<<fnum<<endl;
// cout<<name<<endl<<hzm<<endl;
while(cin>>b>>c){
lb=strlen(b);
lc=strlen(c);
for(int i=0;i<lb;i++){
if(b[i]=='.'){
cout<<name;
if(fnum) cout<<r<<'.'<<hzm;
else cout<<'.'<<hzm<<r;
break;
}
}
cout<<' ';
for(int i=0;i<lc;i++){
if(c[i]=='.'){
cout<<name;
if(fnum) cout<<r<<'.'<<hz;
else cout<<'.'<<hz<<r;
break;
}
}
cout<<endl;
r++;
}
}
return 0;
}