帮助:如何根据要求编写这个简单的代码?

时间:2011-03-05 11:16:31

标签: c

问题: 为模拟警用雷达枪的程序创建算法。如果速度超过59kmh,算法应读取汽车速度(以km / h为单位)并打印消息“Speeding”。该算法还应计算适当的罚款,80美元,超过极限1-10kmh,150美元,超过极限11-30kmh,500美元,31kmh以上,超过极限。使用下面的空格。

我的解决方案:

#include <stdio.h>
int main()
{
    int speed = 0;
    int limit = 59;

    /*Get automobile speed from user*/
    printf("Please enter the speed: ");
    scanf("%d%*c", &speed);
    /* Based on the speed, generates the corresponding fine*/
    if (speed > limit)
       {
        printf("Speeding");
        if((speed - limit) <= 10)
            printf("Fine: $80");
        else
            if((speed - limit) >= 11 & (speed - limit) <= 30)
                printf("Fine: $150");
            else
                if((speed - limit) >= 31)
                    printf("Fine: $500");
       }
    else
        printf("The automobile is not speeding");
    return (0);
}

这里的问题是它不会打印出“Speeding”消息。 任何人都可以帮我一把吗?

1 个答案:

答案 0 :(得分:2)

写入stdout时缓冲

printf。在fflush(stdout函数后使用printf),或添加新行,即printf("Speeding\n");

您还可以使用setbuf(stdout, NULL);

在stdout流上禁用缓冲