Написать рекурсивную процедуру для ввода с клавиатуры последовательности чисел(окончание ввода-0) и вывода ее на экран в обратном порядке. c#
Answers & Comments
MaxLevs
Программа посимвольно читает стандартный ввод (клавиатура) и выбирает только цифры - все остальное игнорируется. Как результат, получает последовательность из натуральных чисел. Для завершения ввода нужно ввести "0". Любые символы после 0 считаны не будут. \\\\\\\\\\\\\\\\\\\ using System; namespace sequen { class Program { static string seq() { string res = ""; char symb; while ((symb = (char)Console.Read()) != ' ' && symb != '\n') { if (symb >= '0' && symb <= '9') res += symb.ToString(); } if (res == "") return seq(); //Если ни один символ не подошел if (res != "0") return seq() + res + " "; // Если число считано else return ""; // Если конец } static void Main(string[] args) { Console.Write("Введите последовательность: "); Console.WriteLine("Результат: {0}", seq()); Console.ReadKey(); } } }
Answers & Comments
\\\\\\\\\\\\\\\\\\\
using System;
namespace sequen {
class Program {
static string seq() {
string res = "";
char symb;
while ((symb = (char)Console.Read()) != ' ' && symb != '\n') {
if (symb >= '0' && symb <= '9')
res += symb.ToString();
}
if (res == "") return seq(); //Если ни один символ не подошел
if (res != "0") return seq() + res + " "; // Если число считано
else return ""; // Если конец
}
static void Main(string[] args) {
Console.Write("Введите последовательность: ");
Console.WriteLine("Результат: {0}", seq());
Console.ReadKey();
}
}
}