Кое Кто
Профи
(695)
12 лет назад
Потому что немного неправильно организована логика программки. К условию if (a>99) нет "else".
Исправить просто: заменить "if (a>99) if (a<1000)" на "if ((a>99) && (a<1000))".
Ну или дописать перед ридлайном:
else
Console.WriteLine("ERROR");
YK
Мыслитель
(9445)
12 лет назад
Первую с какого конца? Старший разряд или младший разряд?
Хотя.. . В любом случае - вот на:
public int a;
public string str;
Console.WriteLine("Введите трёхзначное число A : ");
str = Console.ReadLine();
str = str.Trim();
try
a = Convert.ToInt32(str);
catch
Console.WriteLine("ERROR"); // на тот случай, если ввели не число
finally
if ((a < 100)||(a > 999))
{
Console.WriteLine("ERROR"); // если число не 3-х значное
}
else
{
Console.WriteLine(str[0]); // Старший разряд
Console.WriteLine(str[2]); // Младший разряд
}
end;
PS: Прогу не проверял, писал по памяти. Но вроде должно работать без ошибок.
Николай Веселуха
Высший разум
(386361)
12 лет назад
using System;
namespace example
{
class Program
{
public static void Main(string[] args)
{
int n;
while (true)
{
Console.Write("Введите трёхзначное число: ");
n = Int32.Parse(Console.ReadLine()) / 100;
if (n > 0 && n < 10) Console.WriteLine("Первая: {0}", n);
else Console.WriteLine("Ошибка! "); // Какой, на хер Error, я - патриот!
}
}
}
}
int a, b;
Console.WriteLine("Введите трёхзначное число a");
a = Convert.ToInt32(Console.ReadLine());
if (a>99)
if (a<1000)
{
b = a / 100;
Console.WriteLine("b = " + b + ""); }
else
Console.WriteLine("ERROR");
Console.ReadLine();
В написанной программе при вводе трёхзначного чиcла ответ выдаёт значение b, при вводе числа больше 999 в ответе выходит слово error, но если ввести число меньше 100 ответ error не выходит. Что надо исправить, чтобы при вводе числа меньше ста в ответе было слово error?