#include<stdio.h> int main() { int a; printf("/nplease input a:"); scanf("%d",&a); if(

#include<stdio.h>
int main()
{
int a;
printf("/nplease input a:");
scanf("%d",&a);
if(125<=a<=200)
a=0.8*a;
printf("a=%d",a);
else if(200<=a<=300)
{
a=200*0.8+0.9*a;
printf("a=%d",a);
}
else if(300<=a<=400)
{
a=a;
printf("a=%d",a);
}
else if(a<=125)
{
a=100;
printf("a=%d",a);
}
else if(a>=400)
{
a=a+a*0.15;
printf("a=%d",a);
}
} 有哪位大佬 能帮我看看哪错了吗初学C语言

错误有三,一是if体少一个大括号导致else配对失败,二是笔误(转义字符\n),三是误认为数学表达式在C语言里仍能识别。(通常main返回0)改完代码如下(可正常运行,if里的判断有重叠,我稍微改了下,如果不符合你的要求可以重改):

#include<stdio.h>

int main()
{
    int a;
    printf("\nPlease input a:");
    scanf("%d",&a);
    if(125<=a && a<=200)
    {
        a=0.8*a;
        printf("a=%d",a);
    }
    else if(200<a && a<=300)
    {
        a=200*0.8+0.9*a;
        printf("a=%d",a);
    }
    else if(300<a && a<=400)
    {
        a=a;
        printf("a=%d",a);
    }
    else if(a<125)
    {
        a=100;
        printf("a=%d",a);
    }
    else if(a>400)
    {
        a=a+a*0.15;
        printf("a=%d",a);
    }

    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答