Member 14042955 Ответов: 2

Как решить это упражнение?


Напишите программу, которая просит пользователя ввести ряд ненулевых целых чисел, по одному за раз.
Программа должна продолжать запрашивать у пользователя номер, пока он не введет значение 0.
Затем программа должна вывести на экран наибольшее из введенных чисел.
Имейте в виду, что пользователь может ввести все отрицательные целые числа, и ваша программа должна быть
в состоянии справиться с этим.

Что я уже пробовал:

Итак, вот что я в итоге сделал, и это совершенно нормально. Мне просто нужно было немного поспать, когда я попробовал снова, все прошло довольно гладко. Я знал, как это сделать, но не знал, как записать это в код. Спасибо за опубликованное решение, но я не видел кода, который вы опубликовали, поэтому уверен, что мне не следует его использовать. Ваше здоровье!






using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace bigestNumber
{
    class ProgramNumber
    {
        static void Main(string[] args)
        {
            int num2 ;  //declaring the required variables.
            int numberEntered;
            string inputNumber, inputNumber1;
            
            
            Console.Write("Please enter a series of non-zero integer numbers, once at a time. Enter 0 to stop: ");

            inputNumber = Console.ReadLine();  //waiting for the user imput
            numberEntered = int.Parse(inputNumber);
            do
            {

                Console.Write("Please enter another number. Enter 0 to stop: ");
                inputNumber1 = Console.ReadLine();
                num2 = int.Parse(inputNumber1);
                if (numberEntered < num2 && num2 != 0) //if statment
                {
                    numberEntered = num2; //assigns the value of num2 to the numberEntered variable
                }

            }
            while ( num2 != 0);  //loop statment

            Console.Write("The largest of the numbers you have entered is: ");
            Console.WriteLine(numberEntered); //displays the value of the variable num

            Console.ReadKey();  //waits for the user to press a key
        }
    }
}

Eric Lynch

Похоже, вы честно постарались решить эту проблему. Итак, почему бы не нажать кнопку "улучшить вопрос" и не поделиться фактическим кодом, который вы пробовали?

Таким образом, люди здесь могут помочь указать, где вы ошиблись, вместо того, чтобы писать это за вас.

2 Ответов

Рейтинг:
9

Member 14042955

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace bigestNumber
{
    class ProgramNumber
    {
        static void Main(string[] args)
        {
            int num2 ;  //declaring the required variables.
            int numberEntered;
            string inputNumber, inputNumber1;
            
            
            Console.Write("Please enter a series of non-zero integer numbers, once at a time. Enter 0 to stop: ");

            inputNumber = Console.ReadLine();  //waiting for the user imput
            numberEntered = int.Parse(inputNumber);
            do
            {

                Console.Write("Please enter another number. Enter 0 to stop: ");
                inputNumber1 = Console.ReadLine();
                num2 = int.Parse(inputNumber1);
                if (numberEntered < num2 && num2 != 0) //if statment
                {
                    numberEntered = num2; //assigns the value of num2 to the numberEntered variable
                }

            }
            while ( num2 != 0);  //loop statment

            Console.Write("The largest of the numbers you have entered is: ");
            Console.WriteLine(numberEntered); //displays the value of the variable num

            Console.ReadKey();  //waits for the user to press a key
        }
    }
}


Richard MacCutchan

Вы не помогаете людям учиться, выполняя за них их работу.

Member 14042955

Чувак, я ОП, это мой код, только что опубликовал его в качестве решения тоже

Richard MacCutchan

Извините, я должен был проверить документы более тщательно.

Рейтинг:
1

OriginalGriff

Это домашнее задание, поэтому мы не дадим вам никакого кода.
Но если честно, то это довольно просто, Честное слово!

Разбейте его на более мелкие ставки и заставьте их работать первыми.

Так что начните с самого главного:

Ask the user for a number, and read it in.
Ты ведь знаешь, как это делается, верно? Это всего лишь консоль.WriteLine, а затем консоль.ReadLine и преобразование в целое число (и вы знаете, как это сделать, я уверен)

Проверьте это: выведите номер, который вы ввели! Когда он хорошо читает числа (и жалуется на нечисловые входы вместо сбоя), переходите к следующему биту:

Continue to read in numbers until he enters zero
Вы знаете, как это сделать: простой цикл, который проверяет число, которое он прочитал, и если оно равно нулю, выходит.
Проверить его. Проверьте еще раз.

Следующий бит:
Display the largest
Немного сложнее, но не намного. Добавьте переменную "max so far" и, прежде чем войти в цикл, установите ее на наименьшее возможное значение - я даже дам вам код для этого:
int maxSoFar = int.MinValue;
установка его на наименьшее возможное значение означает, что все, что пользователь вводит, будет больше!
Внутри цикла проверьте, что пользователь ввел против этого значения. Если новое значение больше, установите maxSoFar на новое значение.
После цикла выведите maxSoFar, потому что это самое большое введенное значение!

Проверить его. Проверьте его с помощью различных данных. И опять же, с другими данными.
Когда вы счастливы, все сделано!