为啥总是答案错误,这个测试点试了很多个方法都是答案错误

img

img


img

#include
int main()
{
int a,b;
char c;
float g;
scanf("%d %d %c",&a,&b,&c);
if(c=='m')
{
if(b==90)
g=a0.956.95;
else if(b==93)
g=a0.957.44;
else if(b==97)
g=a0.957.93;
}
else
{
if(b==90)
g=0.97a6.95;
else if(b==93)
g=0.97a7.44;
else if(b==97)
g=0.97a7.93;
}
printf("%.2f",g);
return 0;
}

不要使用单精度类型,直接用双精度浮点型,具体看修改过的代码。
仅供参考!谢谢!

img

img

#include<stdio.h>
int main()
{
    int a, b;
    char c;
    double g;
    scanf("%d %d %c", &a, &b, &c);
    if (c == 'm')
    {
        if (b == 90)
            g = a * 0.95 * 6.95;
        else if (b == 93)
            g = a * 0.95 * 7.44;
        else if (b == 97)
            g = a * 0.95 * 7.93;
    }
    else if (c == 'e')
    {
        if (b == 90)
            g = 0.97 * a * 6.95;
        else if (b == 93)
            g = 0.97 * a * 7.44;
        else if (b == 97)
            g = 0.97 * a * 7.93;
    }
    printf("%.2lf", g);
    return 0;
}

#include<stdio.h>
 
int main()
{
    int gas;
    int l;
    double moy,cot;
    char sev;
    scanf("%d %d %c",&l,&gas,&sev);
    if(gas==97)moy=7.93;
    if(gas==93)moy=7.44;
    if(gas==90)moy=6.95;
    if(sev=='m')cot=moy*l*0.95;
    if(sev=='e')cot=moy*l*0.97;
    
    printf("%.2lf",cot);
    return 0;
}

望采纳

#include<stdio.h>
int main()
{
    int a=0, b=0;
    char c=0;
    double g=0.0;
    scanf("%d%d", &a,&b);
    getchar();
    scanf("%c", &c);
    if (c == 'm')
    {
        if (b == 90)
            g = a*0.95*6.95;
        else if (b == 93)
            g = a*0.95*7.44;
        else if (b == 97)
            g = a*0.95*7.93;
    }
    else if(c=='e')
    {
        if (b == 90)
            g = 0.97*a*6.95;
        else if (b == 93)
            g = 0.97*a*7.44;
        else if (b == 97)
            g = 0.97*a*7.93;
    }
    printf("%.2f", g);
    return 0;
}

我帮你看一下哈,等会啊

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632