用C语言写的,不知道问题在哪,崩溃
查看原帖
用C语言写的,不知道问题在哪,崩溃
1103891
eyrejfv楼主2023/11/20 23:29
#include <stdio.h>
#include <string.h>
int main()
{
    char s[10000];
    char a, aa, fuc = '0';
    gets(s);
    int zf = 1, tx = 0, tn = 0, t = 0, i, ret = 1;
    double l;
    for (a = s[0], i = 1; a != '\0'; i++)
    {
        aa = s[i];
        if (a == '+')
            zf = 1;
        else if (a == '-')
            zf = -1;
        else if (a >= '0' && a <= '9')
            t = t * 10 + a - '0';
        else
        {
        }
        if (ret)
        {
            if (aa == '+' || aa == '-' || aa == '=')
            {
                if (t != 0)
                {
                    if (a >= '0' && a <= '9')
                        tn += t * zf * (-1);
                    else
                    {
                        tx += zf * t; fuc = a;
                    }
                }
                else
                {
                    if (a >= 'a')
                    {
                        tx += zf; fuc = a;
                    }
                }
                t = 0;
            }
            if (aa == '=')
            {
                ret = 0;
                zf = 1;
                i++;
            }
        }
        else
        {
            if (aa == '+' || aa == '-' || aa == '\0')
            {
                if (t != 0)
                {
                    if (a >= '0' && a <= '9')
                        tn += t * zf;
                    else
                    {
                        tx += zf * (-1) * t; fuc = a;
                    }
                }
                else
                {
                    if (a >= 'a')
                    {
                        tx += zf * (-1); fuc = a;
                    }
                }
                t = 0;
            }
        }
        a = s[i];
    }
    l = (double)tn / (double)tx;
    if (l == -0.000)
        printf("%c=%.3lf", fuc, l * (-1));
    else
        printf("%c=%.3lf", fuc, l);
}

代码如上,求求来个人帮帮我,我真的很无助

2023/11/20 23:29
加载中...