M241220 Ответов: 2

Как сгенерировать случайные символы в строке с помощью языка Си?


Мне дали этот код для начала:
char s[21];

    for ( k = 0; k < 20; k++ )
        s[k] = ' ';
    s[20] = '\0';

    printf("|%s|\n", s);

Я должен включить следующее в код, который у меня есть:
- поместите 5 случайных символов в строку s
- символ должен быть строчным символом
- местоположение/позиция должны находиться в пределах допустимой строки

Окончательный код должен генерироваться (без точек, только пробелы):
|...................|
|..l..gy..x...c|

буквы и интервалы могут быть случайными, но должны оставаться в пределах строки

Что я уже пробовал:

Я не смог пройти мимо этого:
char s[21];

    for ( k = 0; k < 20; k++ )
        s[k] = ' ';
    s[20] = '\0';

    printf("|%s|\n", s);
    printf("\n");

    return 0;
}

Любая помощь будет оценена по достоинству, так как я действительно борюсь с кодированием. Спасибо!

Peter_in_2780

Подумайте, как бы вы сделали это с карандашом и бумагой.
Запишите эти шаги.
Переведите их в код.
Компилируйте и тестируйте.

2 Ответов

Рейтинг:
2

OriginalGriff

Начните с настройки массива символов, который содержит символы, которые вы хотите выбрать. Для "всех строчных символов" это будет:

char pickFrom[] = "abcdefghijklmnopqrstuvwxyz";
Затем создайте генератор случайных чисел с помощью srand: Библиотечная функция C - rand() - Tutorialspoint[^]
Теперь вы можете использовать rand внутри цикла можно "выбрать" случайные символы из массива (используя оператор модуля) и установить их в выходную строку.

Дайте ему попробовать: это не трудно сделать, если вы думаете об этом!