才60分,各种例子都试过了,没找出问题,麻烦大佬们看一下

P1957 口算练习题

zhouyiqing @ 2021-01-23 17:45:30

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
    int i,j;
    char ch[2],pch,str[50][20],str1[5],str2[5],str3[11];
    scanf("%d\n",&i);
    for(j=0;j<i;j++)
    {
        fgets(str[j],13,stdin);
    }
    for(j=0;j<i;j++)
    {
        if(sscanf(str[j],"%s %s %s",ch,str1,str2)==3)
        {
            if(ch[0]=='a')
            {
                printf("%d+%d=%d\n",atoi(str1),atoi(str2),atoi(str1)+atoi(str2));
                sprintf(str3,"%d",atoi(str1)+atoi(str2));
                printf("%d",strlen(str1)+strlen(str2)+strlen(str3)+2);
            }
            else if(ch[0]=='b')
            {
                printf("%d-%d=%d\n",atoi(str1),atoi(str2),atoi(str1)-atoi(str2));
                sprintf(str3,"%d",atoi(str1)-atoi(str2));
                printf("%d",strlen(str1)+strlen(str2)+strlen(str3)+2);
            }
            else if(ch[0]=='c')
            {
                printf("%d*%d=%d\n",atoi(str1),atoi(str2),atoi(str1)*atoi(str2));
                sprintf(str3,"%d",atoi(str1)*atoi(str2));
                printf("%d",strlen(str1)+strlen(str2)+strlen(str3)+2);
            }
            pch=ch[0];
        }
        else if(sscanf(str[j],"%s %s",str1,str2)==2)
        {
            if(pch=='a')
            {
                printf("%d+%d=%d\n",atoi(str1),atoi(str2),atoi(str1)+atoi(str2));
                sprintf(str3,"%d",atoi(str1)+atoi(str2));
                printf("%d",strlen(str1)+strlen(str2)+strlen(str3)+2);
            }
            else if(pch=='b')
            {
                printf("%d-%d=%d\n",atoi(str1),atoi(str2),atoi(str1)-atoi(str2));
                sprintf(str3,"%d",atoi(str1)-atoi(str2));
                printf("%d",strlen(str1)+strlen(str2)+strlen(str3)+2);
            }
            else if(pch=='c')
            {
                printf("%d*%d=%d\n",atoi(str1),atoi(str2),atoi(str1)*atoi(str2));
                sprintf(str3,"%d",atoi(str1)*atoi(str2));
                printf("%d",strlen(str1)+strlen(str2)+strlen(str3)+2);
            }
        }
        if(j<i-1)
            printf("\n");
    }
    return 0;
}

by PZimba @ 2021-01-23 17:59:54

下数据


by Argon_Cube @ 2021-01-23 18:09:09

@zhouyiqing 能下数据请先下数据自己找bug谢谢


by zhouyiqing @ 2021-01-23 22:34:16

数据在本地能出正确结果,但洛谷上还是只有60.


|