집 >백엔드 개발 >C#.Net 튜토리얼 >C 언어에서 1부터 100까지 난수를 생성하는 방법(코드 포함)
C 언어에서 1부터 100까지의 난수를 생성하는 방법은 무엇입니까? 다들 알고 싶어하실 거라 생각하니, 더 이상 고민하지 말고 편집자와 함께 알아보도록 하겠습니다.
C 언어에서 난수 생성 방법
1부터 100까지 10개의 난수 생성
말도 안되는 소리는 그만하고, 프로그램에 뛰어드세요.
#include<stdio.h>#include<stdlib.h>#include<time.h> int main() {int ret = 0; srand((unsigned int)time(NULL));for(int i=0; i<p><img src="https://img.php.cn/upload/image/171/688/281/1593401322583907.png" title="1593401322583907.png" alt="C 언어에서 1부터 100까지 난수를 생성하는 방법(코드 포함)"></p> <p>이 프로그램은 10개의 난수를 생성하는 데 사용됩니다. 다음으로 이 프로그램의 구조에 대해 자세히 설명하겠습니다. </p> <p><strong>난수 생성 코드 분석</strong></p> <p><strong>위 프로그램의 키 코드는 </strong></p> <pre class="brush:php;toolbar:false"> srand = ((unsigned)time(NULL)); ret = rand()%100;
rand()입니다. 해당 함수에 필요한 헤더 파일은
#include<stdlib.h></stdlib.h>
rand()는 다음과 같은 함수입니다. 의사 난수 생성 , 특정 시퀀스에 따라 난수를 생성하지만 그 시퀀스는 고정되어 있습니다.
프로그램이 실행될 때마다 이 시퀀스에 따라 난수를 생성하므로 아무 것도 없습니다. rand()에 대한 제한 사항 그렇다면 생성된 난수가 충분히 무작위적이지 않은 것입니다.
time() 함수에 필요한 헤더 파일은
#include<time.h></time.h>
time() 함수입니다. 이 형식 매개변수는 일반적으로 시간(NULL)으로 작성되는 포인터 변수입니다. ).
이 함수의 기능은 1970년 1월 1일 00:00:00부터 컴퓨터에서 처음 실행한 시간까지의 시간을 반환하는 것입니다(예: 2018년 3월 24일 14:14:00). 이 숫자는 무작위이며 컴퓨터가 실행될 때 변경됩니다.
srand() 함수에 필요한 헤더 파일은 다음과 같습니다.
#include<stdlib.h></stdlib.h>
srand() 함수는 rand() 함수에 시작점을 제공하는 의사 난수 생성기 시드입니다. rand() 함수만 사용할 경우 기본 매개변수로 1을 사용합니다. srand()의 형식 매개변수는 unsigned 유형, 즉 unsigned 유형이며 int, float, char 등이 될 수 있습니다.
그러나 여기서 난수 효과를 달성하기 위해 time() 함수를 사용하여 rand() 함수에 직접 작용하는 시작점을 생성합니다.
참고:
ret = rand()%100;
rand()%100은 100 이내의 난수를 생성하는 것입니다.
흥미로운 작은 프로그램
이것은 컴퓨터가 스스로 숫자를 추측하는 작은 프로그램입니다.
#include<stdio.h>#include<time.h>#include<process.h>#include<stdlib.h>#include<windows.h>int main() { int ret = 0; int guess = 0; int left = 0; int right = 100; srand((unsigned int)time(NULL)); ret = rand() % 100; printf("提供的答案数是->%d\n",ret); guess = 50; while (1) { if (guess > ret) { printf("猜大了->%d\n", guess); right = guess; guess = (right + left) / 2; Sleep(1000); } else if (guess %d\n", guess); left = guess; guess = (right + left) / 2; Sleep(1000); } if (guess == ret) { printf("猜到了是%d", guess); break; } } system("pause "); return 0; }</windows.h></stdlib.h></process.h></time.h></stdio.h>
여기에서는 이분법 개념이 사용되어 컴퓨터가 100 이내의 숫자를 추측할 수 있습니다.
Sleep() 함수는 인쇄 시간을 지연시키는 데 사용됩니다. Sleep() 함수의 매개변수 단위는 ms이므로 1000ms=1s입니다.
읽어주셔서 감사합니다
이 기사는 https://blog.csdn.net/H_Strong/article/details/79678269
추천 튜토리얼: "C Language"
에서 복제되었습니다.위 내용은 C 언어에서 1부터 100까지 난수를 생성하는 방법(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!