01/10/2018, 10:46

Vấn đề Hackerrank Day 2

Chuyện là dạo này buồn đời nên chuyển qua cày hackerrank, nhưng vấn đề này thì không biết ai sai.

Yêu cầu đề bài:

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.

Bài làm của em:

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


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

Và run output của hackerrank:

Và khi em compiler g++:

Mặc dù biết chưa làm tròn lên được 15 nhưng với kết quả kia của hackerrank thì quá phi lí đi, mong được chỉ giáo

rogp10 viết 12:47 ngày 01/10/2018

Để ý mealCost phải là double. Với lại thớt sửa xong rồi bấm dịch lại xem.

Henry viết 13:00 ngày 01/10/2018

Vẫn chưa hiểu tại sao totalcost lại là int. À, với lại 12.00 là float mà

vtrnnhlinh viết 12:55 ngày 01/10/2018

khi em test cả doublefloat dành cho mealCost nhưng…

@thanhtrung2314 : em mặc định số thập phân là double, còn số nguyên là int còn totalCost xài int là để khỏi tốn công làm tròn

Dark.Hades viết 12:53 ngày 01/10/2018

Thiếu dấu chấm câu kìa

Henry viết 12:58 ngày 01/10/2018

Dùng int mà làm tròn là bậy rồi em .
Một cách chính xác thì khi dùng int là lấy phần nguyên.

vtrnnhlinh viết 12:51 ngày 01/10/2018

em ghi nhầm :v để lấy phần nguyên do nhìn output mẫu, nhưng phát hiện là người ta đòi làm tròn, phải ghi thêm code rồi

vtrnnhlinh viết 12:48 ngày 01/10/2018

Solved! Code mẫu cho bác nào muốn tham khảo ^^ (chắc không ai cần đâu :v)

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */
    double mealCost;
    double tipPercent;
    double taxPercent;
    double tip;
    double tax;
    double totalCost;
  
    cin >> mealCost;
    cin >> tipPercent;
    cin >> taxPercent;
    
    tip= mealCost*tipPercent/100;
    tax= mealCost*taxPercent/100;
    
    totalCost= mealCost+tip+tax;
    
    cout << "The total meal cost is " << round(totalCost) << " dollars." << endl; 
    
    return 0;
}
Bài liên quan
0