問題: 爲模擬警察雷達槍的程序創建算法。該算法應讀取汽車速度(單位km/h),如果速度超過59kmh,則輸出消息「超速」。然後,該算法還應計算適當的罰款,在極限以上1-10kmh爲80美元,在極限以上11-30kmh爲150美元,在極限以上31kmh以上爲500美元。使用下面的空間。幫助:如何根據要求編寫這個簡單的代碼?
我的解決方案:
#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);
}
這裏的問題是,它不會打印出消息,「超速」。 任何人都可以幫我一把嗎?
不要忘了把新行「\ n」 printf中 – fazo 2011-03-05 11:24:32
是。有用。我想知道這背後的原因。任何意見? – Jervis 2011-03-05 11:29:56
您在這裏使用了錯誤的運算符:'(速度限制)> = 11&(速度限制)<= 30)'這應該是一個邏輯AND('&&')。 – 2011-03-05 11:45:39