1. 程式人生 > >學習筆記4——猜數字遊戲,隨機數

學習筆記4——猜數字遊戲,隨機數

<span style="font-size:18px;">/*	Name:		find_nbr.c
 *	Purpose:	This program picks a random number and then
 *				lets the user try to guess it
 *	Returns:	Nothing
 */


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

#define NO 0
#define YES 1

int main(void)
{
	int guess_value = -1;
	int number;
	int nbr_of_guesses;
	int done = NO;

	printf("\n\nGetting	a Random number\n");

	/* use the time to seed the random number generator*/

	srand(	(unsigned) time(	NULL ) );
	number = rand();

	nbr_of_guesses = 0;
	while ( done == NO)
	{
		printf("\nPick a number between 0 and %d> ",RAND_MAX);
		scanf(	"%d",	&guess_value); /*Get a number*/

		nbr_of_guesses++;

		if ( number == guess_value)
		{
			done = YES;
		}
		else
		if ( number < guess_value)
		{
			printf("\nYou guessed high !");
		}
		else
		{
			printf("\nYou guessed low!");
		}
	}

	printf("\n\nCongratulations ! You guessed right in %d Guesses! ",
			nbr_of_guesses);
	printf("\n\nThe number was %d\n\n",number);

	return 0;
}</span>

srand()就是給rand()提供種子seed

如果srand每次輸入的數值是一樣的,那麼每次執行產生的隨機數也是一樣的,

也就是說,以一個固定的數值作為種子是一個缺點。 通常的做法是  以這樣一句程式碼srand((unsigned) time(NULL));來取代,這樣將使得種子為一個不固定的數, 這樣產生的隨機數就不會每次執行都一樣了。

/* RAND.C: This program seeds the random-number generator
 * with the time, then displays 10 random integers.
 */

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

void main( void )
{
   int i;

   /* Seed the random-number generator with current time so that
    * the numbers will be different every time we run.
    */
   srand( (unsigned)time( NULL ) );

   /* Display 10 numbers. */
   for( i = 0;   i < 10;i++ )
      printf( "  %6d\n", rand() );
}



相關推薦

學習筆記4——數字遊戲隨機數

<span style="font-size:18px;">/* Name: find_nbr.c * Purpose: This program picks a random number and then * lets the user try

數字遊戲進來玩玩唄

 直接程式碼和結果演示: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<time.h> void menu() { printf(

用python實現的一個數字遊戲

使用者可以自定義猜的次數,如果在規定的次數內猜出來了,就輸出great,   from random import randint s=randint(0,300) go=int(input('請輸入猜字次數:')) def foo(t): i=0 while i 

演算法競賽入門經典 3-4 數字遊戲的提示

題目描述 實現一個“猜數字”的遊戲。給定答案序列和使用者猜的序列,統計有多少數字位置正確(A),有多少數字在兩個序列都出現過但位置不對(B)。輸入包含多組資料,每組輸入第一行為序列長度n,第二行是答案序列,接下來是若干行猜測序列。猜測序列全0時該資料結束。n=0時輸入結束。 樣例

數字遊戲錯繼續對結束【詳解】

猜數字遊戲通常由兩個人玩,一方出數字,一方猜(這裡就由系統陪您玩啦)。出數字的人要想好一個隨機數字,不能讓猜的人知道,猜的人就可以開始猜了。 猜數字遊戲通常設有猜測次數的上限,這裡設定為 0~8 宣告: 具體的實現方式有很多,這裡僅供參考使用。 首先來個單次執行的-------&

JAVA課程學習五:數字遊戲

練習知識1:while迴圈 練習知識2:for迴圈 熟悉if-else分支,random函式,int m = Integer.parseInt(“123”)字串轉為int型資料。 通過輸入一個數,與隨機生成的數進行比對,猜出這個隨機生成的數。 程式碼: import

Android 元件學習筆記(九宮格遊戲imageview設定圖片滿屏技巧)

這次做的是一個小demo,九宮格拼圖遊戲 簡單介紹一下:九個方格,一個空白方格,只有與空的相接才能相互移動,通過不斷移動會拼成一張完整的圖片 功能介紹:   1.圖片移動,有一定規則   2.記錄步數,記錄移動了多少步   3.介面跳轉,拼完後即跳轉到原圖(此處還可繼續拓展

Python學習筆記小結之數字遊戲

知識 pre 分享 class ood imp 否則 cor clas 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線---------------------------

Python學習筆記(五)數字遊戲(while)

今天寫的是一個猜數字遊戲,我記得好像大二還是大三的時候在日方課上用vb實現過,大體思想就是先生成一個隨機數,然後進行輸入,程式會判斷你輸入的值和隨機值相比較的結果,一直到你輸入正確才退出迴圈體。 關於隨機數的應用,首先要引入random類,程式中生成的是1到10的隨機

C++數字遊戲的程式用srand()函式產生隨機數

/* 編寫一個猜數字遊戲的程式:程式隨機選擇一個1到1000的數,然後輸出:     I have a number between 1 and 1000.         Can you guess

java 實現數字遊戲 隨機給定一個數字大小直到正確

個數字 blog spa 猜數字 style ring imp code ont package com.swift; import java.util.Random; import java.util.Scanner; public class GuessBigSm

(轉)python學習筆記4--數字類型與操作符

種類型 3.2 tails 標準 變量 浮點數 log 表示 整除 原文:https://blog.csdn.net/lemonwyc/article/details/37558269 1. 同時賦值(Simultaneous Assignments) python支持在一

看一本python書數字遊戲是入門然後就自己寫了下

水平不高,就想寫一寫,功能實現了,但不完善,如果亂輸入就會出現問題,後續再把程式碼完善下,今天沒時間了,貼上程式碼,共同學習。相容版本3和2均可以直接拿程式碼測試。 #coding:utf-8 # 這是一個猜數字遊戲 import random import sys class Guess

python學習第一週 數字遊戲

資源下載:點我下載 說明點: num.isdigit() #判斷使用者輸入的內容是否是數字 random.randint(0-100) #從0-100中獲取一個隨機數 int(num) #將獲取的字串num轉為int型別 #!/usr/bin/python3 #-*- co

Hadoop學習筆記4.初識MapReduce 一、神馬是高大上的MapReduce   MapReduce是Google的一項重要技術它首先是一個程式設計模型用以進行大資料量的計算。對於大資料

Hadoop學習筆記—4.初識MapReduce 一、神馬是高大上的MapReduce   MapReduce是Google的一項重要技術,它首先是一個程式設計模型,用以進行大資料量的計算。對於大資料量的計算,通常採用的處理手法就是平行計算。但對許多開發

Ts_半分查詢數字遊戲(初始版)

第一次使用半分查詢,勉強可以看 封裝函式體 int look(int arr[],int num,int r) { int left = 0; int right = 0; right = r; while (left <= right) /

登陸系統數字遊戲

要求:編寫程式碼模擬三次密碼輸入的場景。最多能輸入三次密碼,密碼正確,提示“登入成功”,密碼錯誤,可以重新輸入,最多輸入三次。三次均錯,則提示退出程式。 注:字串的比較用strcmp,比較方法:字典序。輸入函式用%s,取地址符可加可不加。 猜數字遊戲:系統隨機生成一個1~1

如何寫一個簡單的數字遊戲?60行程式碼搞定進來轉轉吧

#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> void menu() { printf("******************************\n"); printf(“歡迎來到猜數

影象處理與分析(數字影象處理第二版)學習筆記4.1

第四章,頻率域影象增強 1,連續和離散傅立葉變換和反變換表示式? 一維連續:                     二維連續:              一維離散:                 二維離散:              2,二維影象離散