В этих задачах вы потренируетесь использовать if, else и else if. Сначала запишите условие своими словами, затем составьте выражение C# и проверьте несколько входных значений.
3.1.1. Проверка палиндрома
Получите положительное трёхзначное целое число и определите, одинаково ли оно читается слева направо и справа налево. Сравните первую и последнюю цифры.
Проверьте 363, 563 и 101. Решение и таблицы трассировки находятся в главе 3.
3.1.2. Проверка чётности
Получите целое число n. Выведите «Чётное», если оно чётное, иначе — «Нечётное».
Решение
1
2
3
4
5
6
7
8
9
10
Console.Write("Введите целое число: ");
int n = int.Parse(Console.ReadLine());
if (n % 2 == 0)
{
Console.WriteLine("Чётное");
}
else
{
Console.WriteLine("Нечётное");
}
Например, при вводе 8 выводится «Чётное». Проверьте также 7, 0 и -3: чётность определяется отсутствием остатка при делении на 2.
3.1.3. Сравнение двух чисел
Получите два целых числа a и b. Выведите ровно одно сообщение:
a > b, если первое число больше;a == b, если числа равны;a < bв оставшемся случае.
3.1.4. Поиск максимума
Получите два целых числа a и b. Объявите int max = a;. Если b > a, присвойте max = b. В конце выведите max.
Решите задачу с помощью условия, чтобы проследить изменение переменной, а не с помощью Math.Max. Проверьте также равные числа.
3.1.5. Знак числа
Получите число x и выведите:
- «Положительное», если
x > 0; - «Ноль», если
x == 0; - «Отрицательное» в противном случае.
3.1.6. Сколько дней в феврале?
В юлианском календаре год, который делится на 4 без остатка, имеет 29 дней в феврале; в остальных годах — 28. Получите положительный номер года и выведите число дней в феврале, используя условие.
Здесь используется юлианский календарь. Более точное для современного григорианского календаря правило вы примените в задаче 3.2.1. Вариант текущей задачи без условий есть в практике 2.1.
Решение
Console.Write("Введите год: ");
int year = int.Parse(Console.ReadLine());
if (year % 4 == 0)
Console.WriteLine("29 дней");
else
Console.WriteLine("28 дней");
3.1.7. Упорядочивание двух чисел
Получите два целых числа n1 и n2. После обработки меньшее число должно храниться в n1, а большее — в n2.
Используйте if, не применяя Math.Max. Например:
- до обработки:
n1 = 8,n2 = 3; - после обработки:
n1 = 3,n2 = 8.
Решение
static void Main()
{
Console.Write("Введите первое число: ");
int n1 = int.Parse(Console.ReadLine());
Console.Write("Введите второе число: ");
int n2 = int.Parse(Console.ReadLine());
if (n1 > n2)
{
int tmp = n1; // Сохраняем первое значение перед обменом
n1 = n2;
n2 = tmp;
}
Console.WriteLine($"После упорядочивания: n1={n1}, n2={n2}");
}
Переменная tmp сохраняет исходное значение n1. Без неё инструкция n1 = n2 затёрла бы значение, которое нужно записать в n2.
Проверьте ввод 8, 3, 3, 8 и 5, 5. При уже правильном порядке или равенстве обмен не нужен.