欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用C語言實現(xiàn)猜數(shù)字

 更新時間:2021年06月24日 09:31:31   作者:JokerCrying  
這篇文章主要為大家詳細介紹了用C語言實現(xiàn)猜數(shù)字,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

如何用C語言寫出一個猜數(shù)字游戲,供大家參考,具體內容如下

首先調用頭文件

/***調用頭文件***/ 
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h> 
/***調用頭文件***/

再者定義函數(shù)

/**定義函數(shù)**/ 
void start();//開始函數(shù) 
void low();//低級 
void mediate();//中級 
void high();//高級 
void res();//重啟函數(shù) 
void chooce();//選擇函數(shù) 
void help();//查看幫助 
void name_set();//姓名詢問 
int main(void);//主函數(shù) 
/**定義函數(shù)**/

start()函數(shù),主要是進行選擇進入,代碼如下

void start(){//開始函數(shù) 
 printf("***************************\n");
 printf("* 1.進行猜數(shù)字   *\n");
 printf("* 2.退出猜數(shù)字   *\n");
 printf("* 3.選擇  幫助   *\n");
 printf("***************************\n\n");
 
 /*設置選擇*/ 
 int c;
 printf("請選擇:");
 scanf("%d",&c); 
 
 switch(c){
  case 1:
   chooce();
   break;
  case 2:
   printf("謝謝您!\n");
   break;
   exit(0);
  case 3:
   help();
   break;
  default:
   printf("請輸入正確的數(shù)字:\n");
   break;
 }
 /*設置選擇*/ 
 
}

name_set()函數(shù)主要是詢問一下游玩者的名字,再輸出一下名字,畢竟是個游戲供來娛樂嘛

void name_set(){//問候函數(shù) 
 char name[10];
 printf("您好,您叫什么?輸入您的姓名:");
 gets(name);
 printf("%s,歡迎來到猜數(shù)字游戲\n\n",name);
}

help()函數(shù)純純就是提示幫助

void help(){//幫助函數(shù) 
 printf("\t1.低級范圍在300以內,共5次機會\n");
 printf("\t2.中級范圍在300-1000以內,共10次機會\n");
 printf("\t3.高級在1000以上,共20次機會\n");
 start();//返回開始函數(shù),并不運行問候函數(shù) 
}

chooce()函數(shù),主要是進行選擇游戲等級

void chooce(){//選擇等級 
 printf("***************************\n");
 printf("* 1.選擇低級   *\n");
 printf("* 2.選擇中級   *\n");
 printf("* 3.選擇高級   *\n");
 printf("***************************\n");
  
 int dj;
 printf("請選擇等級:");
 scanf("%d",&dj);//設置等級 
  
 /*判定選擇等級*/ 
 if(dj==1){
  low();
 }
 else if(dj==2){
  mediate();
 }
 else if(dj==3){
  high();
 }
 else{
  printf("請輸入正確的數(shù)字,我們即將返回程序!\n");
  chooce();
 }
 /*判定選擇等級*/
}

接下來就是主要的函數(shù)了,是游戲內容和邏輯

簡單來說,低級中級高級的代碼邏輯是一樣的,都是運用stdlib.h里的rand()函數(shù)抽取隨機數(shù)值,然后與輸入的guess對比,可以看出來,在while里運行,輸入一次做一次對比,如果正確times+1并結束循環(huán),如果不正確,提示錯誤并返回while運行,直到times超過那個數(shù)值,跳出循環(huán)。
在下面可以看一下基本模板(里面數(shù)值用拼音代替)

void dengji(){
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(//表達式代取數(shù)值對比){
  printf("太大了建議您玩中級!\n");
  printf("請再次輸入\n");
  low();
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<n){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<n){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

然后可以看一下代碼

void low(){//低級 
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(sb>300){
  printf("太大了建議您玩中級!\n");
  printf("請再次輸入\n");
  low();
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<5){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<5){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

void mediate(){//中級 
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(sb<300){
  printf("太小了建議您玩低級!\n");
  printf("請再次輸入\n");
  mediate();
 }
 else if(sb>1000){
  printf("太大了建議您玩高級!\n");
  printf("請再次輸入\n");
  mediate();
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<10){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<10){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

void high(){//高級 
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(sb<1000){
  printf("太小了,建議您退出游戲!\n");
  high(); 
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<20){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<20){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

res()函數(shù)可以理解為詢問返回游戲,我是在return games的基礎上縮寫的,畢竟游戲不能只有一次,在里面做一個邏輯運算,并返回其他函數(shù)

void res(){//詢問是否重新再來 
 printf("\n還要在玩一遍嗎?\n1.是的 2.退出。");
 int s;
 scanf("%d",&s);
 
 /*進行選擇*/ 
 if(s==1){
  chooce();
 }
 else if(s==2){
  printf("謝謝您!\n"); 
  exit(0);//退出程序 
 }
 else{
  printf("請輸入正確的數(shù)字!\n");
  res();
 }
 /*進行選擇*/
 
 return res();//將res函數(shù)返回main函數(shù) 
} 

main()函數(shù)主要是做了一個調用,調用前面start,name_set,chooce,res等函數(shù)

int main(){
 name_set();//問候 
 
 start();//執(zhí)行選擇

 int yes=1;//設置重啟值,調用res函數(shù) 
 if(yes==1){
   res();
  }
}

到最后可以看一下所有代碼

/***調用頭文件***/ 
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h> 
/***調用頭文件***/

/**定義函數(shù)**/ 
void start();//開始函數(shù) 
void low();//低級 
void mediate();//中級 
void high();//高級 
void res();//重啟函數(shù) 
void chooce();//選擇函數(shù) 
void help();//查看幫助 
void name_set();//姓名詢問 
int main(void);//主函數(shù) 
/**定義函數(shù)**/

void start(){//開始函數(shù) 
 printf("***************************\n");
 printf("* 1.進行猜數(shù)字   *\n");
 printf("* 2.退出猜數(shù)字   *\n");
 printf("* 3.選擇  幫助   *\n");
 printf("***************************\n\n");
 
 /*設置選擇*/ 
 int c;
 printf("請選擇:");
 scanf("%d",&c); 
 
 switch(c){
  case 1:
   chooce();
   break;
  case 2:
   printf("謝謝您!\n");
   break;
   exit(0);
  case 3:
   help();
   break;
  default:
   printf("請輸入正確的數(shù)字:\n");
   break;
 }
 /*設置選擇*/ 
 
}

void name_set(){//問候函數(shù) 
 char name[10];
 printf("您好,您叫什么?輸入您的姓名:");
 gets(name);
 printf("%s,歡迎來到猜數(shù)字游戲\n\n",name);
}

void help(){//幫助函數(shù) 
 printf("\t1.低級范圍在300以內,共5次機會\n");
 printf("\t2.中級范圍在300-1000以內,共10次機會\n");
 printf("\t3.高級在1000以上,共20次機會\n");
 start();//返回開始函數(shù),并不運行問候函數(shù) 
}

void chooce(){//選擇等級 
 printf("***************************\n");
 printf("* 1.選擇低級   *\n");
 printf("* 2.選擇中級   *\n");
 printf("* 3.選擇高級   *\n");
 printf("***************************\n");
  
 int dj;
 printf("請選擇等級:");
 scanf("%d",&dj);//設置等級 
  
 /*判定選擇等級*/ 
 if(dj==1){
  low();
 }
 else if(dj==2){
  mediate();
 }
 else if(dj==3){
  high();
 }
 else{
  printf("請輸入正確的數(shù)字,我們即將返回程序!\n");
  chooce();
 }
 /*判定選擇等級*/
}

void low(){//低級 
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(sb>300){
  printf("太大了建議您玩中級!\n");
  printf("請再次輸入\n");
  low();
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<5){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<5){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

void mediate(){//中級 
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(sb<300){
  printf("太小了建議您玩低級!\n");
  printf("請再次輸入\n");
  mediate();
 }
 else if(sb>1000){
  printf("太大了建議您玩高級!\n");
  printf("請再次輸入\n");
  mediate();
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<10){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<10){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

void high(){//高級 
 int sb;
 srand(time(NULL));//調用rand函數(shù) 
 printf("輸入一個范圍整數(shù):");
 scanf("%d",&sb);//獲取范圍值 
 
 if(sb<1000){
  printf("太小了,建議您退出游戲!\n");
  high(); 
 }
 
 int num=rand() % ("%d"+1,sb);//獲取隨機整數(shù) 
 int times=0;//設置初始次數(shù) 
 
 while(times<20){//循環(huán)判定 
  int guess;
  printf("輸入數(shù)字:");//獲取輸入值 
  scanf("%d",&guess);

  times+=1;//次數(shù)增加 
  
  /***與隨機值比較***/ 
  if(guess==num){
   break;//正確結束循環(huán) 
  }
  else if(guess>num){
   printf("猜大了!\n"); 
  }
  else{
   printf("猜小了!\n");
  }
  /***與隨機值比較***/ 
  
 }
 
 if(times<20){
  printf("猜對了!\n");//正確結果 
  printf("您一共猜了%d次",times);
 }
 else{
  printf("對不起,猜錯了!數(shù)字是%d。\n",num);
  printf("您一共猜了%d次\n",times);//錯誤結果 
 }
}

void res(){//詢問是否重新再來 
 printf("\n還要在玩一遍嗎?\n1.是的 2.退出。");
 int s;
 scanf("%d",&s);
 
 /*進行選擇*/ 
 if(s==1){
  chooce();
 }
 else if(s==2){
  printf("謝謝您!\n"); 
  exit(0);//退出程序 
 }
 else{
  printf("請輸入正確的數(shù)字!\n");
  res();
 }
 /*進行選擇*/
 
 return res();//將res函數(shù)返回main函數(shù) 
}

int main(){
 name_set();//問候 
 
 start();//執(zhí)行選擇

 int yes=1;//設置重啟值,調用res函數(shù) 
 if(yes==1){
   res();
  }
}

這里函數(shù)的順序可以打亂,因為我們在前面是聲明過一遍函數(shù)的,并不需要函數(shù)的順序,因為不聲明的話,很難去找到想用的函數(shù)?。?!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解C語言中的字符串拼接(堆與棧)

    詳解C語言中的字符串拼接(堆與棧)

    這篇文章主要介紹了C語言中字符串拼接(堆與棧)的相關資料,文中通過一段示例代碼詳細介紹了關于C語言中的字符串拼接問題,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 從匯編看c++中的多態(tài)詳解

    從匯編看c++中的多態(tài)詳解

    下面小編就為大家?guī)硪黄獜膮R編看c++中的多態(tài)詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • C++適用入門同學的模板講解

    C++適用入門同學的模板講解

    人們需要編寫多個形式和功能都相似的函數(shù),因此有了函數(shù)模板來減少重復勞動;人們也需要編寫多個形式和功能都相似的類,于是?C++?引人了類模板的概念,編譯器從類模板可以自動生成多個類,避免了程序員的重復勞動
    2022-07-07
  • C語言中結構體變量私有化詳解

    C語言中結構體變量私有化詳解

    結構是由基本數(shù)據(jù)類型構成的、并用一個標識符來命名的各種變量的組合,下面這篇文章主要給大家介紹了關于C語言中結構體變量私有化的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • C++中的不規(guī)則二維數(shù)組實現(xiàn)代碼

    C++中的不規(guī)則二維數(shù)組實現(xiàn)代碼

    本文介紹了一個在C++中保存不定長二維數(shù)組的數(shù)據(jù)結構,在這個結構中,我們使用了一個含有指針和數(shù)組長度的結構體,用這樣的一個結構體構造一個結構體數(shù)組,用于存儲每一個不定長的數(shù)組,感興趣的朋友一起看看吧
    2024-03-03
  • C語言實現(xiàn)三子棋游戲的示例代碼

    C語言實現(xiàn)三子棋游戲的示例代碼

    今天我們將會用C語言實現(xiàn)三子棋。所謂三子棋,就是三行三列的棋盤,玩家可以和電腦下棋,率先連成三個的獲勝。話不多說,我們開始吧
    2022-10-10
  • C語言實現(xiàn)學生管理系統(tǒng)

    C語言實現(xiàn)學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 淺談C++中各種不同意義的new和delete的使用

    淺談C++中各種不同意義的new和delete的使用

    本文主要介紹了淺談C++中各種不同意義的new和delete的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • C語言實現(xiàn)發(fā)牌洗牌

    C語言實現(xiàn)發(fā)牌洗牌

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)發(fā)牌洗牌,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C++實現(xiàn)簡單五子棋游戲

    C++實現(xiàn)簡單五子棋游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論