C 언어 연속 생 성 난수 의 실현 방법

srand()난수 피 드 설정
rand()생 성 0-RANDMAX 범위 의 난수
다른 연산 을 더 하면 우 리 는 임의의 범위 의 임 의 수 를 생 성 할 수 있다.rand()는 난수 표 의 난수 순 서 를 출력 합 니 다.따라서 난수 피 드 를 설정 하지 않 으 면 생 성 된 난수 가 고정 되 어 있 습 니 다.

int main()
{
  char str[10] = {0};
  int j =0;
  while(j < 10)
  {//         
    int i = strlen(str);
    for (;i < 3;i++){
      str[i] = '0' + rand() % 10;
    }//        
    str[i++] = 'A' + rand() % 26;
    str[i] = 'A' +rand() % 26;//    
    printf(str);
    printf("
"); j++; str[0] = '\0'; } return(0); }
이 프로그램 을 실행 할 때마다 같은 결과 가 나 옵 니 다.
그림 1 차:
두 번 째 운행:
그래서 srand()로 피 드 를 설정 한 후 시도 합 니 다.코드 는 다음 과 같 습 니 다.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>



int main()
{
  char str[10] = {0};
  int j =0;
  
  while(j < 10)
  {
        srand((unsigned)time(NULL));
//          
    int i = strlen(str);
    for (;i < 3;i++){
      str[i] = '0' + rand() % 10;
    }
    str[i++] = 'A' + rand() % 26;
    str[i] = 'A' +rand() % 26;
    printf(str);
    printf("
"); j++; str[0] = '\0'; } return(0); }
실행,srand 문 구 는 순환 내 에 있 기 때문에 매번 시간 으로 종 류 를 만 들 고 프로그램의 실행 속도 가 빠 르 기 때문에 시간 정밀도 내 에서 수치 가 불편 하기 때문에 매번 순환 이 똑 같 습 니 다.srand()를 순환 밖 에 두 면 서로 다른 서열 이 생 길 수 있 습 니 다.결 과 는 다음 과 같 습 니 다.

원 하 는 결과 인 것 같 아 요.
만약 내 가 굳이 srand()를 while 안에 넣 어야 한다 면,우 리 는 이렇게 쓸 수 있다.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>



int main()
{
  char str[10] = {0};
  int j =0;
  while(j < 10)
  {
        srand((unsigned)time(NULL) + (unsigned)rand());
    int i = strlen(str);
    for (;i < 3;i++){
      str[i] = '0' + rand() % 10;
    }
    str[i++] = 'A' + rand() % 26;
    str[i] = 'A' +rand() % 26;
    printf(str);
    printf("
"); j++; str[0] = '\0'; } return(0); }
무 작위 수 에 시간 을 더 해서 종 류 를 만 들 지만 그 종 류 를 떠 나 지 않 습 니 다.마지막 에 무 작위 수 생 성 은 시간 에 달 려 있 습 니 다.그러나 무 작위 수 를 더 한 후에 랜 드()를 순환 하 는 횟수 에 달 려 있 습 니 다.아무래도 프로그램 이 확정 되 고 시간 이 확정 되면 생 성 된 무 작위 수 는 똑 같 습 니 다.
C 언어 연속 생 성 난수 의 실현 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C 언어 연속 생 성 난수 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기