第一个案例完全一致,也考虑了洛谷的Linux评测机。但还是不对。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,x=0,y=0;
char ch,op;
char a[100];
cin>>i;
getchar(); //为了读\r\n
getchar();
while(i--)
{
int j=0;
int space_count=0; //该行的空格数
while((ch=getchar())!='\n')
{
a[j++] = ch;
if(ch==' ') space_count++;
}
a[j]='\0';
if(space_count==2)
{
op = a[0];
int k;
for(k=2;a[k]!=' ';k++)
{
x = x*10 + (a[k]-'0');
}
for(k=k+1;a[k]!='\0';k++)
{
y = y*10 + (a[k]-'0');
}
}
else if(space_count==1)
{
int k;
for(k=0;a[k]!=' ';k++)
{
x = x*10 + (a[k]-'0');
}
for(k=k+1;a[k]!='\0';k++)
{
y = y*10 + (a[k]-'0');
}
}
if(op=='a') sprintf(a,"%d%c%d=%d",x,'+',y,x+y); //输出到字符串
else if(op=='b') sprintf(a,"%d%c%d=%d",x,'-',y,x-y);
else if(op=='c') sprintf(a,"%d%c%d=%d",x,'*',y,x*y);
puts(a);
cout<<strlen(a)<<endl;
x=0,y=0;
}
return 0;
}