a1764441928 发表于 2020-4-16 22:06:50

c语言经典列题


很简单的问题。经典例题中发奖金的那道题。不知道为什么,我的结果输出一直是0,请问各位大神问题处在哪里了
#include<stdio.h>
void main()
{
        longint i;
        double bouns1,bouns2,bouns4,bouns6,bouns10,bouns;
   
        printf("please enter you money:\n");
        scanf("%ld",&i);

        bouns1 = 100000*0.1;
        bouns2 = bouns1 + 100000 * 0.075;
        bouns4 = bouns2 + 200000 * 0.05;
        bouns6 = bouns4 + 200000 * 0.03;
        bouns10 = bouns6 + 400000 * 0.015;
       
        if(i<100000)
    {
                bouns = i*0.1;
        }
        else if(i < 200000)
        {
      bouns = bouns1 + (i - 100000) * 0.075;
        }
        else if(i < 400000)
        {
                bouns = bouns2 + (i - 200000) * 0.05;
        }
        else if( i < 600000)
        {
                bouns = bouns4 + (i - 400000) * 0.03;
        }
        else if(i < 1000000)
        {
                bouns = bouns6 + (i - 600000) * 0.015;
        }
        else if(i > 1000000)
        {
                bouns = bouns10 +(i - 100000) * 0.1;
        }
   
    printf("\nyou money is bouns = %d yuan\n",bouns);
}

杜若左 发表于 2020-4-16 22:29:33

最后输出的类型错了

杜若左 发表于 2020-4-16 22:30:10

你定义的bouns 是double类型的
应该%f 输出

a1764441928 发表于 2020-4-16 22:38:02

杜若左 发表于 2020-4-16 22:30
你定义的bouns 是double类型的
应该%f 输出

可以了,谢谢
页: [1]
查看完整版本: c语言经典列题