// 6.1 Brain Teaser
#include <stdio.h>
int pills,weight;
float bottlenumber;
void load()
{
printf("Enter the number of pills: ");
scanf("%d", &pills);
printf("Enter the weight of your pills: ");
scanf("%d", &weight);
}
void calc()
{
bottlenumber = (weight - 210)/(float)0.1;
}
void print()
{
printf("The bottle number is %.f!", bottlenumber);
}
void main()
{
load();
calc();
print();
}
Пользователь должен ввести 211.3. Тогда ответ должен быть 13, но вместо этого я получаю 10. Я думаю, что это связано с аспектом плавания и частью вычисления.Неисправность с функциями C, в частности в расчете
есть только два предпочтительных и один необязательный формат для объявления функции main(). 1) int main (void) 2) int main (int argc, char * argv []) и необязательно 3) int main() Обратите внимание, что все допустимые формы объявления основной функции имеют тип возврата 'int' Suggest, всегда включающий все предупреждения при компиляции (для gcc, при минимальном использовании: «-Wall -Wextra -pedantic»). Тогда компилятор рассказал бы вам об этой проблеме. – user3629249