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
Để ý
mealCost
phải là double. Với lại thớt sửa xong rồi bấm dịch lại xem.Vẫn chưa hiểu tại sao
totalcost
lại làint
. À, với lại 12.00 là float màkhi em test cả
double
vàfloat
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àiint
là để khỏi tốn công làm trònThiếu dấu chấm câu kìa
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.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
Solved! Code mẫu cho bác nào muốn tham khảo ^^ (chắc không ai cần đâu :v)