Определить, через сколько месяцев цена покупки увеличится более чем вдвое - C (СИ)
Формулировка задачи:
Три года назад за покупку на базаре 1 кг картофеля, 1 л молока и одного десятка яиц уплачено А руб. С тех пор ежемесячно цена картошки увеличивалась на 30%, цена молока – на 40%, яиц – в два раза. Написать программу ежемесячного изменения стоимости покупки, определяющую, через сколько месяцев цена покупки увеличится более чем вдвое.
Решение задачи: «Определить, через сколько месяцев цена покупки увеличится более чем вдвое»
textual
Листинг программы
#include <stdio.h> #define PERIOD 37 int main ( void ) { float patatoesPrice = 1.5, milkPrice = 0.7, eggsPrice = 0.5; unsigned char counter, months = 0; unsigned char doublePricePatatoes = 0, doublePriceMilk = 0, doublePriceEggs = 0; unsigned char firstSentinel = 0, secondSentinel = 0, thirdSentinel = 0; printf("%s%22s%22s%26s\n","Month","Price of patatoes","Price of milk","Price of eggs"); puts(""); for ( counter = 1; counter <= PERIOD; ++counter) { printf( "%-2d%25.2f%22.2f%26.2f", months++, patatoesPrice, milkPrice, eggsPrice); puts(""); patatoesPrice *= 1.3; milkPrice *= 1.4; eggsPrice *= 2; if ( patatoesPrice >= (1.5 * 2) && firstSentinel < 1){ doublePricePatatoes = months; ++firstSentinel; } if ( milkPrice >= (0.7 * 2) && secondSentinel < 1){ doublePriceMilk = months; ++secondSentinel; } if ( eggsPrice >= (0.5 * 2) && thirdSentinel < 1){ doublePriceEggs = months; ++thirdSentinel; } } printf("%s%d%s\n","Patato price become double after ",doublePricePatatoes," months"); printf("%s%d%s\n","Milk price become double after ",doublePriceMilk," months"); printf("%s%d%s\n","Eggs price become double after ",doublePriceEggs," months"); return 0; }
Объяснение кода листинга программы
- Включаем заголовочный файл stdio.h для использования функций ввода-вывода
- Задаем значение переменной PERIOD равное 37 (необходимо изменить на желаемое количество месяцев)
- Объявляем переменные:
- patatoesPrice (цена покупки картофеля),
- milkPrice (цена покупки молока),
- eggsPrice (цена покупки яиц),
- counter (счетчик для цикла),
- months (количество прошедших месяцев),
- doublePricePatatoes (количество месяцев, через которое цена покупки картофеля увеличится в два раза),
- doublePriceMilk (количество месяцев, через которое цена покупки молока увеличится в два раза),
- doublePriceEggs (количество месяцев, через которое цена покупки яиц увеличится в два раза),
- firstSentinel (первый индикатор),
- secondSentinel (второй индикатор),
- thirdSentinel (третий индикатор)
- Выводим таблицу с наименованиями и начальными ценами продуктов
- Запускаем цикл от 1 до PERIOD, увеличивая каждую переменную на единицу после каждой итерации
- В каждой итерации выводим текущие цены продуктов и обновляем значения переменных doublePricePatatoes, doublePriceMilk, doublePriceEggs, если выполняется условие
- После завершения цикла выводим количество месяцев, через которое цена покупки каждого продукта увеличится в два раза
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д