Оператор выбора - C (СИ)
Формулировка задачи:
Помогите, пожалуйста. Только начал изучать Си, и мало что понимаю.
Нужно написать программу "Ввести с клавиатуры четырехзначное число и номер варианта для вычисления. Если введен 1, то вычислить произведение цифр числа. 2 - сумму первой и третьей цифры, 3 - сумма второй и четвертой." Буду очень благодарен.
Решение задачи: «Оператор выбора»
textual
Листинг программы
#include <stdio.h> #define N 4 int main(void) { int ch, mult = 1, i; char str[N + 1]; printf("N = "); scanf("%s", str); printf("choice = "); scanf("%d", &ch); /* оператор множественного выбора: */ switch (ch) { case 1: for (i = 0; i < N; i++) mult *= (str[i] - '0'); printf("Mult: %d\n", mult); break; case 2: printf("Sum 1 and 3 digits: %d\n", str[0] + str[2] - '0' * 2); break; case 3: printf("Sum 2 and 4 digits: %d\n", str[1] + str[3] - '0' * 2); break; default: printf("Incorrect choice\n"); break; } return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- ch типа int для получения выбора пользователя
- mult типа int и инициализируется единицей, используется для умножения
- i типа int, используется в цикле
- str типа char, массив для хранения строки, инициализируется размером N+1 символов
- Выводится сообщение и призыв к вводу:
N =
и последующий ввод строки с помощью функции scanfchoice =
и последующий ввод целого числа с помощью функции scanf
- Запускается оператор множественного выбора switch:
- case 1: выполняется цикл for, перемножаются все цифры введенной строки
- case 2: вычисляется сумма цифр 1 и 3 позиции строки
- case 3: вычисляется сумма цифр 2 и 4 позиции строки
- case default: выводится сообщение об ошибке
- Возвращается 0, заканчивается выполнение функции main
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д