@[PleasantGoat17](/user/1154492) ~~求关注இ௰இ~~
```cpp
#include <bits/stdc++.h>
using namespace std;
char a;
int n,c,d;
char s[1005];
char b[105];
int main() {
cin >> n;
for(int i = 0 ; i < n ; ++i) {
cin >> b;
if(b[0] >= 'a' && b[0] <= 'z') {
a = b[0];
cin >> c >> d;
}
else {
sscanf(b,"%d",&c);
cin >> d;
}
memset(s , 0 , sizeof(s));
if(a == 'a')
sprintf(s , "%d+%d=%d" , c , d , c + d);
else if(a == 'b')
sprintf(s , "%d-%d=%d" , c , d , c - d);
else if(a == 'c')
sprintf(s , "%d*%d=%d" , c , d , c * d);
cout << s << endl;
cout << strlen(s) << endl;
}
return 0;
}
```
by quxiangyu @ 2024-03-13 20:30:58
@[quxiangyu](/user/1241537) 谢谢,这是我改进后的代码,全AC了,我想知道为什么原来会全WA
```cpp
#include<cstdio>
#include<iostream>
#include<cctype>
#include<cstring>
using namespace std;
int main()
{
int n;
cin >> n;
char s[10];
int a,b;
char ans[100];
char optr;
for(int i=0;i<n;i++)
{
cin >> s;
if(isalpha(s[0])){
optr = s[0];
cin >> a >> b;
}
else{
sscanf(s,"%d",&a);
cin >> b;
}
switch (optr)
{
case 'a':
sprintf(ans,"%d+%d=%d",a,b,a+b);
break;
case 'b':
sprintf(ans,"%d-%d=%d",a,b,a-b);
break;
case 'c':
sprintf(ans,"%d*%d=%d",a,b,a*b);
break;
case 'd':
sprintf(ans,"%d/%d=%d",a,b,a/b);
break;
default:
break;
}
cout << ans << endl << strlen(ans) << endl;
}
}
```
by PleasantGoat17 @ 2024-03-13 20:35:57