Как сделать программу на С, которая будет запрашивать у пользователя целое число [0;99] и выводить его на экран словами?

Для решения данной задачи на языке программирования C можно использовать следующий подход.

1. Начните с подключения заголовочного файла <stdio.h>, который содержит функции для ввода и вывода данных.

#include <stdio.h>

2. Определите функцию main(), которая будет точкой входа в программу.

int main() {
    // Ваш код будет здесь
    return 0;
}

3. Создайте переменную num для хранения введенного пользователем числа.

int num;

4. С помощью функции printf() выведите сообщение для пользователя, запрашивая ввод числа.

printf("Введите целое число от 0 до 99: ");

5. Считайте число, введенное пользователем, с помощью функции scanf(). Используйте спецификатор %d для чтения целых чисел.

scanf("%d", &num);

6. Добавьте проверку на то, что введенное число находится в допустимом диапазоне [0;99]. Если число находится в диапазоне ([0;99]), продолжайте выполнение программы. В противном случае, выведите сообщение об ошибке и завершите программу.

if (num < 0 || num > 99) {
    printf("Ошибка: число должно находиться в диапазоне от 0 до 99n");
    return 0;
}

7. Создайте массив words, содержащий названия чисел от 0 до 99 на английском языке (например, "ноль", "один", "два", и т.д.). Для простоты, можно использовать два массива - один для названий чисел до 20 и второй для десятков ("двадцать", "тридцать", и т.д.). Затем можно использовать условные операторы для вывода правильного названия числа.

char* units[] = {"ноль", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять", "десять", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать"};
char* tens[] = {" ", " ", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто"};

char* word;
if (num < 20) {
    word = units[num];
} else {
    int unit = num % 10;
    int ten = num / 10;
    word = tens[ten];

    if (unit != 0) {
        word = strcat(word, " ");
        word = strcat(word, units[unit]);
    }
}

8. Используя функцию printf(), выведите название числа на экран.

printf("Число на английском языке: %sn", word);

9. Завершите функцию main() и выполните программу.

int main() {
    int num;

    printf("Введите целое число от 0 до 99: ");
    scanf("%d", &num);

    if (num < 0 || num > 99) {
        printf("Ошибка: число должно находиться в диапазоне от 0 до 99n");
        return 0;
    }

    char* units[] = {"ноль", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять", "десять", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать"};
    char* tens[] = {" ", " ", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто"};

    char* word;
    if (num < 20) {
        word = units[num];
    } else {
        int unit = num % 10;
        int ten = num / 10;
        word = tens[ten];

        if (unit != 0) {
            word = strcat(word, " ");
            word = strcat(word, units[unit]);
        }
    }

    printf("Число на английском языке: %sn", word);

    return 0;
}

Теперь, при запуске программы, пользователю будет предложено ввести целое число от 0 до 99, и на экран будет выведено его название на английском языке. Например, при вводе числа 42 на экране появится "Число на английском языке: сорок два".