В чем ошибка? - C (СИ) (70363)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <locale.h>
- #include <stdlib.h>
- #include <math.h>
- int main(void)
- {
- int n,a, y;
- setlocale(LC_ALL, "RUS");
- while (1)
- {
- puts("Программа склоняет слово рубль\n");
- puts("Введите число \n");
- scanf_s("%d", &n);
- if (n % 10 == 0 || (n >= 11 && n < 20) || n % 10 >= 5)
- printf("%d рублей \n", n);
- if (n % 10 == 1)
- printf("%d рубль \n", n);
- else
- printf("%d рубля \n", n);
- puts("Продолжить работу программы? 1-Да. 2-Нет.");
- scanf("%d", &a);
- if (a == 2)break;
- }
- system("pause");
- }
Решение задачи: «В чем ошибка?»
textual
Листинг программы
- if (n % 10 == 1 && n != 11)
- printf("%d рубль \n", n);
- else{
- if (n % 10 == 0 || (n >= 11 && n < 20) || n % 10 >= 5)
- printf("%d рублей \n", n);
- else
- printf("%d рубля \n", n);
- }
Объяснение кода листинга программы
- Проверяется, делится ли число n нацело на 10 (остаток от деления на 10 равен 1 и число n не равно 11).
- Если условие выполняется, то выводится число n в формате
n рубль
. - Если условие не выполняется, то проверяется, является ли число n равным 0 или находится в диапазоне от 11 до 19 (включительно), или остаток от деления на 10 больше или равен 5.
- Если условие выполняется, то выводится число n в формате
n рублей
. - Если условие не выполняется, то выводится число n в формате
n рубля
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д