Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программа си #

Саща Тукмаков Профи (500), закрыт 12 лет назад
Задача: Дано трёхзначное чило. Вывести первую цифру числа.
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?
Лучший ответ
Кое Кто Профи (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, я - патриот!
            }
        }
    }
}
Похожие вопросы