Как случайно выбрать слово из 26 букв, используя язык C? - PullRequest
2 голосов
/ 26 июня 2010

Я хочу коды для случайного выбора слова (значащего или бессмысленного) из 26 букв. Слово содержит 6 букв. У меня есть коды для программы C или цели C, или вы дадите мне любую идею.

Ответы [ 2 ]

5 голосов
/ 26 июня 2010
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

main()
{
    srand(time(NULL));
    for (int i = 0; i < 6; ++i)
    {
        putchar('a' + (rand() % 26));
    }
    putchar('\n');
    return EXIT_SUCCESS;
}

соль по вкусу.

Update0

Казалось бы, ОП не знает, как скомпилировать вышесказанное. Если сохранено в файл с именем so.c, скомпилируйте его с помощью make so CFLAGS=-std=c99 из той же папки.

0 голосов
/ 26 июня 2010
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* Written by kaizer.se */
void randword(char *buf, size_t len)
{
  char alphabet[] = "abcdefghijklmnopqrstuvxyz";
  size_t i;

  for (i = 0; i < len; i++) {
    size_t idx = ((float)rand()/RAND_MAX) * (sizeof(alphabet) -1);
    buf[i] = alphabet[idx];
  }
  buf[len] = '\0';
}

int main(void) {
  char buf[1024];

  srand(time(NULL));

  randword(buf, 7);
  printf("Word: %s\n", buf);
  return 0;
}

Тест:

$ ./rword 
Word: xoilfvv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...