Модуль: C#. Подпрограммы: процедуры и функции - 2


1. Подпрограмма-функция

☰ Теория

Функция - это подпрограмма, которая возвращает результат (число, символьную строку и др.).

Представьте, что вы заказали товар в Интернет-магазине. С точки зрения программирования вы вызвали некоторую подпрограмму, и в отличии от процедуры, эта подпрограмма должна вернуть результат - доставить вам товар, который вы заказали. Вот такие подпрограммы и называются функциями.
Оформляется функция точно также, как и процедура. Единственное отличие от процедуры, - это наличие специального оператора return,
 после которого записывается значение, которое необходимо вернуть в основную программу.

Функция, которая возвращает среднее арифметическое двух целых чисел, будет выглядеть таким образом:

float average(int a, int b)
{
    float avg = (a + b) / 2.0;
    return avg;
}
Осталось понять как вызвать эту функцию в основной программе. Не следует вызывать функцию также как, и процедуру:
average(10, 5); 
Значение, которое вернет функция, потеряется. Это как будто бы товар из Интернет-магазина никому не вручили, а выбросили. Вряд ли это понравится заказчику.

Правильнее сохранить результат в переменной (или вывести его на экран):
float a = average(10, 5); 
Console.WriteLine(average(10, 5));

Составьте функцию, которая вычисляет количество делителей натурального числа.
Используя ее, напишите программу, которая среди 5 введенных натуральных чисел, находит число с максимальным количеством делителей. Если таких чисел несколько, то выведите наибольшее из них.
 
Пример.
Входные данные Выходные данные
15
234
11
9
111112
234

Вставьте недостающие фрагменты кода
C#
1
using System;   
2
class Program   
3
{    
4
    static int countDivisors(int x)   
5
    {   
6
7
        for (int i = 1; i <=x; i++)   
8
        {   
9
            if (x % i == 0)   
10
            {   
11
                count += 1;   
12
            }   
13
        }   
14
        return count;   
15
    }   
16
    static void Main()   
17
    {   
18
        int currentCount = 0;   
19
        int answer = 0;    
20
21
        {   
22
            int x = Convert.ToInt32(Console.ReadLine());   
23
            int y = countDivisors(x);   
24
25
            {   
26
                currentCount = y;   
27
                answer = x;   
28
            }   
29
        }   
30
        Console.WriteLine(answer);   
31
    }   
32
}