Это мое первое программирование, и я потерян. Я пытаюсь выполнить эту математическую операцию, но она продолжает выходить из строя, и я не уверен, где проблема. Кроме того, я не могу понять, как сделать весь числовой вывод в два десятичных знака. Пожалуйста помоги. Это то, что я сделал до сих пор.Математические операции?
int main(void) {
int distance, time, speed, meters, mts_per_mile, sec_per_mile, mts, mps;
csis = fopen("csis.txt", "w");
distance = 425.5;
time = 7.5;
speed = distance/time;
mts_per_mile = 1600;
sec_per_mile = 3600;
mts = distance * mts_per_mile;
mps = mts/sec_per_mile;
printf("The car going %d miles in %d hours is going at a speed of %d mph.\n", distance, time, speed);
fprintf("The car going %d miles in %d hours is going at a speed of %d mph.\n", distance, time, speed);
printf("The car has traveled %d meters total, at a rate of %d meters per second.", mts, mps);
fprintf("The car has traveled %d meters total, at a rate of %d meters per second.", mts, mps);
fclose(csis);
return 0;
}
Ну, вместо использования 'int' для переменных используйте' double' или 'float'. Это решит вашу проблему. – ameyCU
'int' означает [целое число] (https://simple.wikipedia.org/wiki/Integer). –
Вы неправильно вызываете 'fprintf' –