Loading...
mario2s avatar mario2s 19 Точки

[Homework] C# Basics - Operators-Expressions-and-Statements - Problem{6} - Four-Digit Number

Здравейте!

Успях да напиша програмта и всичко работи докато не въведа 1000 (или друго число с 0 на края). Ето го и кода ми:

using System;

class FourDigitNumber
{
    static void Main()
    {
        int Num = int.Parse(Console.ReadLine());
        if (Num < 10000 && Num > 999)
        {
            int a = Num / 1000;
            int b = (Num / 100) % 10;
            int c = (Num / 10) % 10;
            int d = Num % 10;

            Console.WriteLine("Sum of digits: {0}", a+b+c+d);
            Console.WriteLine("Reversed order: {0}", d * 1000 + c * 100 + b * 10 + a);
            Console.WriteLine("Last digit in front: {0}", d * 1000 + a * 100 + b * 10 + c);
            Console.WriteLine("Second and third digits exchanged: {0}", a * 1000 + c * 100 + b * 10 + d);
        }
        else
            Console.WriteLine("The number should be exactly 4 digits and cannot start with '0'");
    }
}

Идеята е, че когато нулата застане най-отпред тя не се изписва в конзолата.

Имате ли решение на този сълюшън и бихте ли споделили?

 

Поздрави!

 

Тагове:
0
Programming Basics
Filkolev avatar Filkolev 4482 Точки

Вместо да правиш математически операции с цифрите, просто ги конкатенирай при вадене на изхода. Примерно: 

Console.WriteLine("Reversed order: {0}{1}{2}{3}", d, c,  b, a);

2
mario2s avatar mario2s 19 Точки

Това решава проблема. 

Благодаря!

 

0
Kosta.Kanev avatar Kosta.Kanev 27 Точки

Заповядай моето решение , дано ти свърши работа.

0
mario2s avatar mario2s 19 Точки

Правилно е, но нали домашното е относно оператори и изрази, не масиви.

0
Kosta.Kanev avatar Kosta.Kanev 27 Точки

Ето без масив... въпреки , че според мен няма значение какво си приложил за да решиш дадена задача, освен ако в условието не е изрично упоменато. Надявам се да съм бил полезен. Поздрави.

1
sun_ray avatar sun_ray 0 Точки

Ще можеш ли да обясниш следния код:

        Console.Write("Enter number: ");
        int a = Console.Read() - '0';
        int b = Console.Read() - '0';
        int c = Console.Read() - '0';
        int d = Console.Read() - '0';

 

Не разбирам за какво е тирето и нулата в кавички след него.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.