Верно ли, что цифры данного трехзначного числа образуют возрастающую или убывающую последовательность - C#
Формулировка задачи:
Суть проблемы:Если ввести четырехзначное число,то программа выведет всё равно True или False.И ещё:если ввести буквы,то программа тоже будет работать.Как это устранить,подскажите,пожалуйста?
//Проверить истинность высказывания: «Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность».
string x; Console.WriteLine("Введите трехзначное число образующее возрастающую или убывающую последовательность"); x = Console.ReadLine(); if (x[0] < x[1] && x[1] < x[2] || x[2] < x[1] && x[1] < x[0]) Console.WriteLine("true"); else Console.WriteLine("false"); Console.ReadKey();
Решение задачи: «Верно ли, что цифры данного трехзначного числа образуют возрастающую или убывающую последовательность»
textual
Листинг программы
using System; namespace CyberforumApp { class Program { static bool IsBlahBlah(int n) { if (n >= -9 && n <= 9) return false; int prev = n % 10; int next = (n /= 10) % 10; n /= 10; int drct = Math.Sign(prev - next); if (drct == 0) return false; prev = next; while (n != 0 && Math.Sign(prev - (next = n % 10)) == drct) { prev = next; n /= 10; } return n == 0; } static void Main() { Random rnd = new Random(); for (int i = 0; i < 20; ++i) { int x = rnd.Next(100, 999); Console.WriteLine("{0}\t->\t{1}", x, IsBlahBlah(x)); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д