Шифр Цезаря. Чтение аргумента строки - C (СИ)
Формулировка задачи:
Написать программу,которая шифруют сообщение шифром Цезаря.Первый дополнительный параметр—целое число int,сдвиг.Остальные параметры— строка, которую нужно зашифровать. Массив строк склеить в одну строку через пробел.Шифровать следует только буквы английского алфавита(верхний и нижний регистр).
Решение задачи: «Шифр Цезаря. Чтение аргумента строки»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int k;
char n;
scanf("%i %c", &k, &n);
while (n != 10)
{
if (n >= 'a' && n <= 'z')
{
n = n + k;
if(n < 'a')
n += 26;
}
else
if(n >= 'A' && n <= 'Z')
{
n = n + k;
if(n < 'A')
n += 26;
}
printf ("%c", n);
scanf("%c", &n);
}
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с вводом/выводом и целочисленными переменными.
- Определяем точку входа в программу - функцию main.
- Инициализируем две переменные типа int - k и n.
- Считываем два значения с помощью функции scanf - первое в переменную k, второе в переменную n.
- Запускаем цикл while, который будет выполняться до тех пор, пока значение переменной n не станет равным 10.
- Проверяем, находится ли значение переменной n в диапазоне от 'a' до 'z' (включительно). Если это так, то выполняем следующие действия: а) Прибавляем к значению переменной n значение переменной k. б) Если полученное значение переменной n меньше 'a', то прибавляем к нему 26.
- Проверяем, находится ли значение переменной n в диапазоне от 'A' до 'Z' (включительно). Если это так, то выполняем следующие действия: а) Прибавляем к значению переменной n значение переменной k. б) Если полученное значение переменной n меньше 'A', то прибавляем к нему 26.
- Выводим значение переменной n с помощью функции printf.
- Считываем новое значение переменной n с помощью функции scanf.
- Повторяем шаги 6-9 до тех пор, пока условие цикла while не станет ложным.
- Завершаем программу и возвращаем 0, чтобы указать, что программа успешно завершилась.