2013-10-05 4 views
0

У меня есть это довольно простой C# код:Как получить значение макс в C#

static void Main(string[] args) 
{ 
    int i, pcm, maxm = 0; 
    for (i = 1; i <= 3; i++) 
    { 
     Console.WriteLine("Please enter your computer marks"); 
     pcm = int.Parse(Console.ReadLine()); 
    } 
    Console.ReadKey(); 
} 

Я хотел бы получить максимальное значение для вара РСМА, как я могу это сделать?

ответ

4

Просто отследите его!

Для каждой итерации, если введенное число больше числа, которое у вас есть в maxm, тогда установите maxm, равный текущему введенному номеру.

В конце вы получите максимум.

псевдокод:

max = 0 
for three iterations 
    get a number 
    if that number is more than max 
    then set max = that number 
+1

+1 для четкого объяснения и псевдокода вместо простого набора кода. Хорошее использование образовательной возможности. :-) –

+0

как я могу это сделать с помощью кода? –

+0

О, я понял сейчас, спасибо вам большое <3 –

0

Еще одна альтернатива размещенным.

static void Main(string[] args) 
{ 
    var numbers = new List<int>(); 

    for (var i = 1; i <= 3; i++) 
    { 
     Console.WriteLine("Please enter your computer marks"); 
     numbers.Add(int.Parse(Console.ReadLine())); 
    } 

    Console.WriteLine(string.Format("Maximum value: {0}", numbers.Max()); 
    Console.ReadKey(); 
} 
0

Вы можете сохранить набранный в значение в переменной maxm. Если пользователь большее количество, то замените это значение:

static void Main(string[] args) 
{ 
    int i, pcm = 0, maxm = 0; 
    for (i = 1; i <= 3; i++) 
    { 
     Console.WriteLine("Please enter your computer marks"); 
     pcm = int.Parse(Console.ReadLine()); 

     // logic to save off the larger of the two (maxm or pcm) 
     maxm = maxm > pcm ? maxm : pcm; 
    } 
    Console.WriteLine(string.Format("The max value is: {0}", maxm)); 
    Console.ReadKey(); 
} 
+1

Объяснение (без кода копирования/вставки), вероятно, было бы лучшим выбором здесь. Это похоже на вопрос о домашнем задании. (Не вниз, просто комментируя.) –

0

Я хотел бы попробовать это

static void Main(string[] args) 
{ 
    int i, pcm, maxm = 0; 
    for (i = 1; i <= 3; i++) 
    { 
     Console.WriteLine("Please enter your computer marks"); 
     pcm = int.Parse(Console.ReadLine()); 
     if(maxm <= pcm) 
     { 
      maxm = pcm; 
     } 
    } 
    Console.ReadKey(); 
} 
0

Просто для удовольствия, вот еще одно решение, которое использует Linq.

static void Main(string[] args) 
{ 
    int i, pcm, maxm = 0; 
    List<int> vals = new List<int>(); 
    for (i = 1; i <= 3; i++) 
    { 
    Console.WriteLine("Please enter your computer marks"); 
    pcm = int.Parse(Console.ReadLine()); 
    vals.Add(pcm); 
    } 
    maxm = vals.Max(a => a); 
    Console.ReadKey(); 
} 
Смежные вопросы