30/09/2018, 23:38

Không vượt qua testcase #3 trong bài 2 của 30 Days of Code

Hi mọi người.

Mình đang làm Day 2 trong 30 Dahs of Code trên HackerRank.

Đề bài như sau:
Task

Given the meal price (base cost of a meal), tip percent (the percentage of the meal price being added as tip), and tax percent (the percentage of the meal price being added as tax) for a meal, find and print the meal’s total cost.

Note: Be sure to use precise values for your calculations, or you may end up with an incorrectly rounded result!
Input Format: There are 3 lines of numeric input:

The first line has a double, (the cost of the meal before tax and tip).
The second line has an integer, (the percentage of being added as tip).
The third line has an integer, (the percentage of being added as tax).

Còn đây là code:

int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */
    double mealCost;
    std::cin >> mealCost;
    int tipPercent;
    std::cin >> tipPercent;
    int taxPercent;
    std::cin >> taxPercent;
    int totalCost = mealCost + (double)(mealCost * (tipPercent / 100.0)) + (double)(mealCost * (taxPercent / 100.0));
    std::cout << "The total meal cost is " << totalCost << " dollars." << std::endl;
    
    
    return 0;
}

Có 4 testcase nhưng chưa vượt qua testcase cuối !

Lưu Thành Vương viết 01:45 ngày 01/10/2018

Cái totalCost để kiểu double rồi dùng hàm round để làm tròn.

Người bí ẩn viết 01:42 ngày 01/10/2018

Nhưng nếu để kiểu int thì nó sẽ tự làm tròn mà nhỉ?

Lưu Thành Vương viết 01:52 ngày 01/10/2018

int thì nó chỉ lấy phần nguyên thôi.
vd:2.9->2
Còn hàm round thì làm tròn đúng nghĩa.
vd:2.9->3

Người bí ẩn viết 01:39 ngày 01/10/2018

À quên béng mất vụ này @@

Tiến Hoàng viết 01:41 ngày 01/10/2018

sử dụng hàm round(…) nhé bạn

Bài liên quan
0