本人是一名蒟蒻,今天突发奇想想打一道紫题,然后就读不懂题 总觉得有些地方不知道怎么处理
两个点都是Wrong Answer. wrong answer On line 1 column 6, read o, expected i.
//https://www.luogu.com.cn/problem/P1953
#include<stdio.h>
#include<iostream>
using namespace std;
//文件主部分,输入的扩展名,输出的扩展名
char name[30],in[30],out[30];
bool isnumonname;//is num on name, 数字的位置是不是在文件主名上
char t1[30],t2[30];//计数
int start;//从几开始计数
const int cf[10]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
// int pow(int x, int n)
// {
// int ret=1;
// for(int i = 0;i<n;i++){
// ret*=x;
// }
// return ret;
// }
bool fn2=false;
int main()
{
int i,j;
int lines=0;
int dot;
scanf("%s", name);
if(name[0]=='0'||name[0]=='1'){//0或1
start=name[0]-'0';
scanf("%s", name);
for(i=0;name[i]<'0'||name[i]>'9';i++);//find number
name[i]=0;//cut
for(i++;name[i]>='0'&&name[i]<='9';i++);//find letter
j=0;
while(name[i]!=0){
in[j]=name[i];
j++;
i++;
}赋值,把数字后的几位赋给·in·
in[j]=0;//切断,以防万一
scanf("%s", name);
for(i=0;name[i]<'0'||name[i]>'9';i++);
name[i]=0;
for(i++;name[i]>='0'&&name[i]<='9';i++);
j=0;
while(name[i]!=0){
out[j]=name[i];
j++;
i++;
}
out[j]=0;
lines=1;
while(cin>>t1>>t2){//计数菌
lines++;
}
for(i=start;i<start+lines;i++){
printf("%s%d%s ",name, i,in);
printf("%s%d%s\n",name, i, out);
}
return 0 ;
}
// - - - - - - - - - - - -//
//(else)
scanf("%s", out);
for(i=0;name[i]!='.';i++);
dot = i;//记录点的位置 方便处理
j=0;
for(i++;name[i]!=0&&(name[i]>'9' || name[i]<'0');i++){
in[j]=name[i];
j++;
}
//start=name[dot-1]-'0';
if(name[dot-1]>='0'&&name[dot-1]<='9'){
for(i=dot-1,j=0;name[i]>='0'&&name[i]<='9';i--,j++){
start+=cf[j]*(name[i]-'0');
}
isnumonname=true;
name[i+1]='%';//这里是利用printf特性
name[i+2]='d';
name[i+3]='.';
name[i+4]='%';
name[i+5]='s';
name[i+6]=0;
}
else {
for(i=dot;name[i]<'0'||name[i]>'9';i++);
while (name[i]!=0)
{
start=start*10+name[i]-'0';
name[i]=0;
i++;
}
isnumonname=false;
name[dot]='.';
name[dot+1]='%';//同上
name[dot+2]='s';
name[dot+3]='%';
name[dot+4]='d';
}
char c;
while(cin>>t1>>t2){//计数
lines++;
}
if(isnumonname){
for(i=start;i<start+lines;i++){
printf(name, i,in);
putchar(' ');
printf(name, i, out);
putchar('\n');
}
}
else{
for(i=0;out[i]<'0'||out[i]>'9';i++);
out[i]=0;
for(i=start;i<lines+start;i++){
printf(name, in, i);
putchar(' ');
printf(name, out, i);
putchar('\n');
}
}
return 0;
}
我才不说我昨天才通第一道绿题