Ln_E 发表于 2017-12-28 17:05:06

if语句利润问题

# include <stdio.h>

int main()
{
        float i, j;
        printf("请输入利润;");
        scanf("f", &i);
        if(i > 1000000)
        {
                j = (i - 1000000) * 0.01;
                i = 1000000;
        }
        {
        if(i > 600000)
                j = (i - 600000) * 0.015;
                i = 600000;
        }
        if(i > 400000)
        {
                j = (i - 400000) * 0.03;
                i = 400000;
        }
        if(i > 200000)
        {
                j = (i - 200000) * 0.05;
                i = 200000;
        }
        if(i > 100000)
        {
                j = (i - 100000) * 0.075;
                i = 100000;
        }
        if(i >= 0)
        {
                j = i * 0.1;
        }
        printf("总奖金为%f", j);







        return 0;
}




各位大佬我错在哪里。。。求指导

Ln_E 发表于 2017-12-28 17:07:41

主要是求用户的
<10000010%
(100000,200000]   7.5%
(200000,400000]   5%
(400000,600000]   3%
(600000,1000000]    1.5%
>1000000                1%

Ln_E 发表于 2017-12-28 17:08:29

Ln_E 发表于 2017-12-28 17:07
主要是求用户的
1000000                1%

额少打了,求用户的奖金。
后面的百分比是提成比例

Ln_E 发表于 2017-12-28 17:20:54

# include <stdio.h>

int main()
{
        float i, j;
        j = 0;
        printf("请输入利润;");
        scanf("f", &i);
        if(i > 1000000)
        {
                j = j + (i - 1000000) * 0.01;
                i = 1000000;
        }
        {
        if(i > 600000)
                j = j + (i - 600000) * 0.015;
                i = 600000;
        }
        if(i > 400000)
        {
                j = j + (i - 400000) * 0.03;
                i = 400000;
        }
        if(i > 200000)
        {
                j = j + (i - 200000) * 0.05;
                i = 200000;
        }
        if(i > 100000)
        {
                j = j + (i - 100000) * 0.075;
                i = 100000;
        }
        if(i > 0)
        {
                j =j + i * 0.1;
        }
        printf("总奖金为%f", j);

        return 0;
}


改进后的,还是有错啊,麻烦哪位大佬路过看看呗

BngThea 发表于 2017-12-28 17:22:13

每次都是给 j 重新赋值
请将后面的每个 i f语句中的 j 赋值语句中的 = 改为 +=

BngThea 发表于 2017-12-28 17:27:06

Ln_E 发表于 2017-12-28 17:20
# include

int main()


scanf中 应该为 %f
第二个if放到左大括号外面

Ln_E 发表于 2017-12-28 17:31:18

感谢大佬{:10_266:}
页: [1]
查看完整版本: if语句利润问题