Module: Alt programlar: prosedürler ve işlevler - 2


Problem

1/10

alt program işlevi

Theory Click to read/hide

Bir işlev, bir sonuç (sayı, sayı, karakter satırı vb.).

Bir çevrimiçi mağazadan bir ürün sipariş ettiğinizi düşünün. Programlama açısından, bir alt program çağırdınız ve bir prosedürden farklı olarak, bu alt program bir sonuç döndürmelidir - sipariş ettiğiniz ürünü teslim edin. Bu alt programlara işlevler denir.
Bir işlev, prosedürle tam olarak aynı şekilde biçimlendirilir. Prosedürden tek fark, özel bir return işlecinin bulunmasıdır,
 bundan sonra ana programa döndürülecek değer yazılır.

İki tamsayının aritmetik ortalamasını döndüren bir işlev şöyle görünür:

kayan ortalama(int a, int b)
{
    float ortalama = (a + b) / 2.0;
    ağustos dönüşü;
}
Geriye ana programda bu fonksiyonun nasıl çağrılacağını bulmak kalır. Bir işlevi prosedürle aynı şekilde çağırmamalısınız:
ortalama(10, 5); 
İşlev tarafından döndürülen değer kaybolacak. Sanki çevrimiçi mağazadaki mallar kimseye verilmemiş, atılmış gibidir. Müşterinin beğenmesi pek olası değil.

Sonucu bir değişkende saklamak (veya ekranda göstermek) daha doğrudur:
float a = ortalama(10, 5); 
Console.WriteLine(ortalama(10, 5));< /kod>

Problem

Bir doğal sayının bölen sayısını hesaplayan bir fonksiyon oluşturun.
Bunu kullanarak, girilen 5 doğal sayı arasından en fazla bölen sayısına sahip sayıyı bulan bir program yazın. Bu tür birkaç sayı varsa, en büyüğünü yazdırın.
 
Örnek.
Giriş Künye
15
234
11
9
111112
234
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
}   

     

Program check result

To check the solution of the problem, you need to register or log in!