1. 程式人生 > >習題3-2 高速公路超速處罰

習題3-2 高速公路超速處罰

習題3-2 高速公路超速處罰 (15 分)

按照規定,在高速公路上行使的機動車,達到或超出本車道限速的10%則處200元罰款;若達到或超出50%,就要吊銷駕駛證。請編寫程式根據車速和限速自動判別對該機動車的處理。

輸入格式:

輸入在一行中給出2個正整數,分別對應車速和限速,其間以空格分隔。

輸出格式:

在一行中輸出處理意見:若屬於正常行駛,則輸出“OK”;若應處罰款,則輸出“Exceed x%. Ticket 200”;若應吊銷駕駛證,則輸出“Exceed x%. License Revoked”。其中x是超速的百分比,精確到整數。

輸入樣例1:

65 60

輸出樣例1:

OK

輸入樣例2:

110 100

輸出樣例2:

Exceed 10%. Ticket 200

輸入樣例3:

200 120

輸出樣例3:

Exceed 67%. License Revoked

 分析:本題邏輯比較簡單,就是多重的選擇判斷。就是有兩個需要特別注意的點:

(1)"x是超速的百分比,精確到整數",在定義x變數時,x一定要是double型別,只不過輸出方式以.0f的形式輸出;不能定義為int型別

(2)"輸出%",要寫%%(兩個百分號)才能輸出。

程式碼:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
	int v, limit;
	double x = 0;;
	scanf("%d %d", &v, &limit);
	x = 100.0*(v - limit) / limit ;
	//x = 1.0*(v - limit) / limit *100;
	if (x >= 50)
	{
		printf("Exceed %.0f%%. License Revoked",x);
	}
	else if (x >= 10)
	{
		printf("Exceed %.0f%%. Ticket 200\n",x);
	}
	else
	{
		printf("OK\n");
	}
	system("pause");
	return 0;
}

測試結果: