Доказать, что любую денежную сумму, большую 7 руб, можно выплатить без сдачи трешками и пятерками - C (СИ)
Формулировка задачи:
в общем программа сделанная, но выдает такую ошибку: "function 'fdiv' should have a prototype".
объясните новичку в чем проблема.
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <stdlib.h>
int a,n,b;
void main()
{
n=0;
do {(puts("write n>7"));
scanf("%f",&a); }
while (n>7);
while (fmod(a,5)!=0); {
a=a-3;
n++; }
b=fdiv(a,5);
printf("%f","3*",n,"%f","5*",b);
getch();
}Решение задачи: «Доказать, что любую денежную сумму, большую 7 руб, можно выплатить без сдачи трешками и пятерками»
textual
Листинг программы
#include <stdio.h>
int main()
{
int num5, num3, remain, x;
printf("Input a number:");
scanf("%d", &x);
num5 = x/10*2;
remain = x % 10;
if (remain < 8)
{
remain += 10;
num5 -= 2;
}
num3 = 2*remain%5;
num5 += 2*remain%3;
if (remain == 15)
num5 += 3;
printf("%d = %d*5 + %d*3\n", 3*num3+5*num5, num5, num3);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Пользователю предлагается ввести число.
- Введенное число делится на 10, умножается на 2 и получается сумма пятицентовых монет.
- Остаток от деления введенного числа на 10 (это будет количество трехцентовых монет).
- Если остаток от деления введенного числа на 10 меньше 8, то он округляется до 8.
- Прибавляется 10 к остатку от деления и убавляется 2 у пятицентовых монет.
- Полученное значение делится на 5 и получается количество трехцентовых монет.
- Полученное значение умножается на 2 и получается количество пятицентовых монет.
- Если остаток от деления введенного числа на 10 равен 15, то к пятицентовым монетам добавляется еще 3.
- Выводится выражение, по которому вычисляется результат (3num3+5num5).
- Возвращается 0, чтобы прекратить выполнение программы.