Tôi đang ở trong một lớp lập trình mà chúng tôi vừa chuyển từ python sang C. Tôi gặp một chút rắc rối với nó, vì C dường như không thực hiện các phép toán với sự dễ dàng python mà không, hay tôi đang thiếu một cái gì đó khi nói đến toán học trong C.Từ mới đến C, và tất cả các phép tính toán học hơi bị tắt
Đối với bài tập về nhà của tôi, tôi đang viết một chương trình thu thập bao nhiêu dặm để xe của người dùng gallon được, bao nhiêu chi phí khí đốt của họ mỗi gallon, và bao nhiêu dặm họ lái xe mỗi tháng. Chương trình sau đó cho họ biết họ có thể phải trả bao nhiêu tiền cho khí đốt cho tháng hiện tại. mã hiện tại của tôi là như sau:
#include <stdio.h>
int main() {
int mpg, miles;
double gas_price;
printf("How many miles per gallon does your car get?\n");
scanf("%d", &mpg);
printf("What is the price of gasoline per gallon?\n");
scanf("%lf", &gas_price);
printf("How many miles do you drive in a month?\n");
scanf("%d", &miles);
printf("The cost of gas this month is $%.2lf\n", miles/mpg * gas_price);
printf("%d %d %d", mpg, gas_price, miles);
return 0;
}
Khi tôi chạy chương trình với các giá trị 24 cho "mpg", 3.00 cho "gas_price", và 1000 dặm, tổng số đến $ 123.00. Điều này là không chính xác, và là khoảng hai đô la ít hơn so với giá thực tế. Khi bạn đi ((1000/24) * 3,00), bạn sẽ nhận được 125 thậm chí. Tôi đã thêm một chuỗi in ra tất cả các giá trị để xem những gì C được sử dụng cho công thức ở dòng 23, và trong khi mpg và gas_price là chính xác, "dặm" hiện lên như có một giá trị của 1074266112. Tôi biết phải có một số lỗi ở đây, vì điều này sẽ ném kết quả ra cách hơn 2 đô la, nhưng tôi không thể không nghĩ rằng nó liên quan.
Tôi xin lỗi về độ dài của câu hỏi, nhưng tôi muốn càng cụ thể càng tốt và tôi hoàn toàn bối rối về lý do tại sao C lại đọc điều này một cách kì lạ.
Đây là cách viết một câu hỏi rõ ràng - công việc tốt. – YXD