2301_80176062 2023-11-20 23:25 采纳率: 0%
浏览 6

C语言题,请哪位查错,帮

有没有哪位愿意帮我看看我的代码😭
这是题目

img

我代码能通过题目给的样例,但是测试点全红,看了好久没发现哪里的错误,哪位能帮我看看吗万分感谢!

img

#include <stdio.h>
int len(int x);

int main(void)
{
    int i, j, k, ans[50], x[50]={0}, y[50]={0}, flag, length[50]={0};
    char ch[50][100]={'\0'};

    scanf("%d", &i);
    getchar();
    for(j=0; j<i; j++)
    {
        for (k = 0; (ch[j][k] = getchar())!='\n'; k++)
        {}
    }
    for(j=0; j<i; j++)
    {
        if(ch[j][0]=='a' || ch[j][0]=='b' || ch[j][0]=='c')
        {
            flag = 0;
            k = 2;
        }   
        else
        {
            flag = 1;
            k = 0;
        }
        for ( ; ch[j][k]!=' '; k++)
        {
            x[j] = x[j] * 10 + (ch[j][k]-'0');
        }
        for (k+=1; ch[j][k] !='\n'; k++)
        {
            y[j] = y[j] * 10 + (ch[j][k] - '0');
        }
        if (flag)
            ch[j][0] = ch[j-1][0];
        switch(ch[j][0])
        {
            case 'a':
            case '+':
                ch[j][0] = '+';
                ans[j] = x[j] + y[j];
                break;
            case 'b':
            case '-':
                ch[j][0] = '-';
                ans[j] = x[j] - y[j];
                break;
            case 'c':
            case '*':
                ch[j][0] = '*';
                ans[j] = x[j] * y[j];
                break;
        }
    }
    for(j=0; j<i; j++)
    {
        length[j] = 2 + len(x[j]) + len(y[j]) + len(ans[j]);
        if (ans[j] < 0)
            length[j] += 1;
        printf("%d%c%d=%d\n", x[j], ch[j][0], y[j], ans[j]);
        printf("%d\n", length[j]);
    }
  
    return 0; 
}

int len(int x)
{
    if(x)
        return 1+len(x/10);
    else
        return 0;
}

  • 写回答

3条回答 默认 最新

  • 思达不达 2023-11-21 00:18
    关注

    0+0=0的长度计算不对,len函数的实现应该是小于10则返回为1,否则为1+len(x/10)

    评论

报告相同问题?

问题事件

  • 创建了问题 11月20日

悬赏问题

  • ¥15 单片机adb主机连接手机,usb调试密钥无法保存
  • ¥15 CTypedPtrList在AddTail时出现死机不知道什么原因呢?
  • ¥15 已知X和Y有以下关系,求X和Y的关系式
  • ¥15 net core 同时编辑怎么防止数据多保存了
  • ¥15 matlab做ba模型让其在ba和er规则下生长
  • ¥50 有偿!centos curl port设置问题
  • ¥15 请问Quartus的Verilog代码怎么写?
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView
  • ¥15 如何使用shufflenet进行手写数字识别