Тренировочные задания: Функции

Восемь задач на оформление кода функциями. Каждую задачу решайте отдельной функцией: объявите прототип до main, затем вызов. В решениях показана сама функция; вызов добавьте в main самостоятельно. Сначала попробуйте без подсказки.

Задача 1. Большее из двух

Напишите функцию, которая возвращает большее из двух целых чисел.

Пример ввода:

7 12

Пример вывода:

12
Решение
int max_of_two(int x, int y)
{
    if (x > y)
    {
        return x;
    }
    return y;
}

Задача 2. Чётное число

Функция возвращает 1, если число чётное, и 0 — если нет.

Пример ввода:

8

Пример вывода:

1
Решение
int is_even(int n)
{
    return n % 2 == 0;
}

Задача 3. Минимум из трёх

Найдите наименьшее из трёх чисел.

Пример ввода:

5 3 9

Пример вывода:

3
Решение
int min_of_three(int a, int b, int c)
{
    int min = a;
    if (b < min)
    {
        min = b;
    }
    if (c < min)
    {
        min = c;
    }
    return min;
}

Задача 4. Возведение в степень

Возведите число в целую неотрицательную степень (без math.h).

Пример ввода:

2 10

Пример вывода:

1024
Решение
long long power(int base, int exp)
{
    long long result = 1;
    for (int i = 0; i < exp; i++)
    {
        result *= base;
    }
    return result;
}

Задача 5. Сумма от 1 до N

Верните сумму всех чисел от 1 до n.

Пример ввода:

5

Пример вывода:

15
Решение
int sum_to(int n)
{
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
        sum += i;
    }
    return sum;
}

Задача 6. Линия из символов

Функция типа void печатает линию из n символов ch.

Пример ввода:

6 *

Пример вывода:

******
Решение
void print_line(int n, char ch)
{
    for (int i = 0; i < n; i++)
    {
        printf("%c", ch);
    }
    printf("\n");
}

Задача 7. Сколько цифр в числе

Функция возвращает количество цифр в целом положительном числе. Для числа 0 вернуть 1.

Пример ввода:

47205

Пример вывода:

5
Решение
int count_digits(int n)
{
    int count = 0;
    if (n == 0)
    {
        return 1;
    }
    while (n > 0)
    {
        count++;
        n /= 10;
    }
    return count;
}

Задача 8. Модуль числа

Верните модуль числа, не используя библиотеку math.h.

Пример ввода:

-8

Пример вывода:

8
Решение
int abs_value(int x)
{
    if (x < 0)
    {
        return -x;
    }
    return x;
}

Подтверждение

—