FishingRod @ 2020-08-11 16:10:13
#include<stdio.h>
#include<string.h>
char char_array[20];
int main()
{
int i,la,lb=0,num_a,num_b,out,is_old=0;
char sym,first;
scanf("%d",&i);
while(getchar()!='\n')
continue;
while(i--)
{
gets(char_array);
la=strlen(char_array);
first=char_array[0];
if(first=='a')sym='+';
else if(first=='b')sym='-';
else if(first=='c')sym='*';
else is_old=1;
if(is_old)
sscanf(char_array,"%d%d",&num_a,&num_b);
else
sscanf(char_array,"%c%d%d",&first,&num_a,&num_b);
if(sym=='+')out=num_a+num_b;
else if(sym=='-')out=num_a-num_b;
else if(sym=='*')out=num_a*num_b;
printf("%d%c%d=%d\n",num_a,sym,num_b,out);
while(out)
{
if(out<0)
{
lb+=1;out=-out;
}
lb++;
out/=10;
}
if(is_old)printf("%d",la+lb+1);
else printf("%d",la+lb-1);
if(i>0)printf("\n");
lb=0,is_old=0;
}
return 0;
}
by Terrible @ 2020-08-11 16:17:26
其他测试点都是第二行输出大一。
字串长度总是会多算一个。
@FishingRod
by FishingRod @ 2020-08-11 16:23:12
@Terrible 啊感谢,突然意识到自己问了个愚蠢的问题,先前自己改的时候开了好几个程序然后就乱了。
by Terrible @ 2020-08-11 16:24:28
排版乱了这个
by FishingRod @ 2020-08-11 16:31:22
@Terrible 啊这,对不起再打扰一下。我本机测试出来确实是和样例对上的,然后试了试洛谷的IDE发现就是你说的那个问题。但我不清楚这个是什么造成的
by Terrible @ 2020-08-11 22:11:16
你过了啊,那我就不管咯。