Доказать, что любую денежную сумму, большую 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, чтобы прекратить выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д