當前位置:首頁 » 編程軟體 » 編譯猜數字游戲

編譯猜數字游戲

發布時間: 2022-12-12 19:35:21

A. c語言,編寫一個猜數字游戲

源碼如下:

/*File:guess.c*/

#include<stdio.h>/*standardinput&outputsupport*/

#include<stdlib.h>/*srand()rand()*/

#include<time.h>/*time()*/

/*宏定義*/

#defineNUMBER_LENGTH5/*隨機數長度*/

#defineNUMBER_LIMIT10/*隨機數限制,每一位0-9*/

#defineINPUT_LENTH128/*輸入緩沖區大小*/

chargoal[NUMBER_LENGTH]={0};/*保存隨機數*/

charflag[NUMBER_LIMIT]={0};/*保存隨機數標志,保證不重復*/

charinput[INPUT_LENTH]={0};/*保存輸入*/

/*初始化用於保存數據的數組*/

voidinitData()

{

inti=0;

while(i<NUMBER_LENGTH)

goal[i++]=0;

i=0;

while(i<NUMBER_LIMIT)

{

flag[i++]=0;

}

}

/*初始化用於保存緩沖區的數組*/

voidinitBuffer()

{

inti=0;

while(i<INPUT_LENTH)

input[i++]=0;

}

/*顯示猜測結果*/

voiddisplay()

{

intcount=0;

inti=0;

while(i<NUMBER_LENGTH)

{

if(input[i]==goal[i])

{

printf("%c",'o');

count++;

}

else

{

printf("%c",'x');

}

i++;

}

printf(" RIGHT:%dbit(s) ",count);

if(count==NUMBER_LENGTH)

{

printf("Youwin!Thenumberis%s. ",goal);

exit(0);

}

}

/*生成隨機數*/

voidgeneral()

{

/*以時間作為時間種子保證生成的隨機數真正具有隨機性質*/

srand((unsignedint)time(NULL));

inti=0;

while(i<NUMBER_LENGTH)

{

chartmp;

do

{

tmp='0'+((i!=0)?(rand()%10):(1+rand()%9));

}while(flag[tmp]!=0);

flag[tmp]=1;

goal[i++]=tmp;

}

}

/*輸入方法,用於猜測*/

voidguess()

{

printf(": ");

scanf("%s",input);

display();

initBuffer();

}

/*主函數,程序主框架*/

intmain(intargc,constchar*argv[])

{

initData();

initBuffer();

general();

while(1)guess();

return0;

}

==============================================

運行結果見附圖,希望我的回答能夠對你有所幫助。

B. 用JAVA語言編寫一個「猜數字游戲」的程序

int num = (int)(Math.random()*100)+1;

Scanner sc = new Scanner(System.in);

int guessNum = -1;

while (guessNum != num) {

System.out.println("請輸入1-100之間整數");

guessNum = sc.nextInt();

if (guessNum == num) {

System.out.println("中啦");

} elseif (guessNum < num) {

System.out.println("小啦");

} else {

System.out.println("大了");

}

}

(2)編譯猜數字游戲擴展閱讀:

編寫思路

1、成1-100之間隨機數

(int)(Math.random()*100)+1;

提示用戶輸入數字,

Scannersc=newScanner(System.in);

intguessNum= sc.nextInt();

需要將隨機數和用戶輸入的數字進行比較。

猜一次:

Scanner sc = new Scanner(System.in);

int num = (int)(Math.random()*100)+1;

System.out.println("請輸入0-100之間整數");

int guessNum = sc.nextInt();

if (guessNum == num) {

System.out.println("中啦");

}elseif(guessNum < num) {

System.out.println("小啦");

}else{

System.out.println("大了");

}

二、使用while循環

publicstaticvoid main(String[] args) {

int num = (int)(Math.random()*100)+1;

Scanner sc = new Scanner(System.in);

while (true) {

System.out.println("請輸入1-100之間整數");

int guessNum = sc.nextInt();

if (guessNum == num) {

System.out.println("中啦");

} elseif (guessNum < num) {

System.out.println("小啦");

} else {

System.out.println("大了");

}

}

}

三、最後用while() 括弧中的條件表達式,當用戶猜測的數和系統生成的數字不相等時,就需要繼續循環。

C. 猜數游戲的C語言編譯代碼

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
time_t t;
int a[4];
char q[5]="1234";
void youxizuorenjieshao()
{
void zhuye();
system("cls");
printf("\n\n\n");
printf(" 游戲製作人介紹\n");
printf(" 姓名 :蔡硯剛\n");
printf(" 年齡 :18\n");
printf(" 性別 :男\n");
printf(" 出生年月(陽歷):1989年12月4日\n");
printf(" 出生年月(陰歷):1989年十一月初七\n");
printf(" 學校 :浙江工商大學\n");
printf(" 畢業學校 :安丘八中\n");
printf(" 出生地 :山東濰坊安丘\n");
printf(" 班級 :軟體0701\n");
printf(" 院系 :計算機與信息工程學院\n");
printf(" 寢室 :錢江灣生活區41#518\n");
printf(" 電話 :15858263646\n");
printf(" 這就是對菜鳥的介紹:你想評價一下他的游戲么?\n");
printf(" 返回主菜單按任意鍵:");
getchar();getchar();
zhuye();

}
void youxiguize()
{
void zhuye();
system("cls");
printf("\n\n\n\n");
printf(" 游戲介紹:\n");
printf(" 1輸入一個各位上數字互不相等的四位數\n");
printf(" 2如果你輸入的數字中有n個相同的數字返回nA\n");
printf(" 3如果你輸入的數字中有m個相同且位置相同返回mB\n");
printf(" 4當返回值是4A4B時即為猜中數字\n");
printf(" 5還可以提前偷窺數字但要輸入密碼\n");
printf(" 現在你已知道游戲規則,那麼趕快玩魅力小菜猜數字游戲吧!\n");
printf(" 按任意鍵返回主采單:");
getchar();getchar();
zhuye();
}
void suijishu()
{
a[0]=rand() %10;
while(1){
a[1]=rand()%10;
if(a[1]!=a[0]) break;
}
while(1){
a[2]=rand()%10;
if((a[2]!=a[0])&&(a[2]!=a[1])) break;
}
while(2){
a[3]=rand()%10;
if((a[3]!=a[0])&&(a[3]!=a[1])&&(a[3]!=a[2])) break;
}
}
void xiaofanhui()
{
int n;
void panan();
void youxi();
void zhuye();
system("cls");
printf("\n\n\n\n\n\n\n\n");
printf(" 現在你已經成功完成游戲\n");
printf(" 按1繼續游戲\n");
printf(" 按2返回主菜單\n");
printf(" 按3返回上一級\n");
printf(" 請選擇:");
scanf("%d",&n);
switch(n){
case 1:suijishu();printf(" 請輸入所猜數字:");
panan();break;
case 2:zhuye();break;
case 3:youxi();break;
default:system("cls");printf(" 這個功能碼不正確\n");break;
}
}
void panan()
{
long n;
int i,j,k,l;
char b[5];
j=0;l=0;
scanf("%s",b);
for(i=0;i<4;i++)
b[i]=b[i]-'0';
for(i=0;i<4;i++) {
if(a[i]==b[i]) j++;
for(k=0;k<4;k++)
if(a[i]==b[k]){ l++;break;}
}
if((j==4)&&(l==4)){
printf(" 4A4B\n");
printf(" 恭喜你,乾的不錯,想記入排行榜么?");
for(n=1;n<=300000000;n++);
xiaofanhui();
}
else{
printf(" %dA%dB",l,j);
printf("請輸入所猜數字:");
panan();
}
}
void print()
{
printf("\n\n\n\n\n\n\n");
printf(" 魅力小菜猜數字游戲現在開始\n");
printf(" 你做好准備了么?\n");
printf(" 如果你用最少的次數猜中的話,還有望進入小菜排行榜呢\n");
printf(" 請輸入所猜數字:");panan();
}
void mima()
{
int i,j;
char p[5];
void youxi();
system("cls");
printf("\n\n\n\n\n\n\n\n");
printf(" 你可真偷懶!偷懶需要密碼吆!你知道密碼么?\n");
printf(" 請輸入密碼:");
for(i=1;i<3;i++){
scanf("%s",p);
if(strcmp(p,q)==0){ system("cls"); printf("偷窺答案是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);print();}
else{ printf(" 密碼錯誤\n");
printf(" 請輸入密碼:");
}
}
scanf("%s",p);
if(strcmp(p,q)==0){ system("cls"); printf("偷窺答案是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);print();}
else printf(" 密碼錯誤\n");
printf(" 你已輸入3次密碼還錯誤,看來偷雞不成蝕把米\n");
printf(" 還是本分點玩游戲吧:");
for(j=1;j<=500000000;j++);
youxi();
}
void youxi()
{
int m;
system("cls");
suijishu();
printf("\n\n\n\n\n\n\n\n");
printf(" 魅力無限的猜數字游戲現在開始:\n");
printf(" 按1現在開始游戲\n");
printf(" 按2提前偷窺(需要4位密碼吆)\n");
printf(" 請輸入:");
scanf("%d",&m);
switch(m){
case 1:system("cls");print();panan();break;
case 2:mima();break;
}
}
void paihang()
{
char ch;
FILE *fp;
void zhuye();

if((fp=fopen("paihangbang.txt","r"))==NULL){
printf("無信息\n");
}
while(!feof(fp)){
ch=fgetc(fp);
putchar(ch);
}
if(fclose(fp)){
printf("不能關閉文件\n");
}
printf("\n看到了吧,你想成為其中一員嗎?趕快來玩吧!小菜給你無限驚喜!返回主菜單請按任意鍵");
getchar();getchar();
zhuye();
}
void zhuyexuanze()
{
int n;
long i;
void zhuye();
scanf("%d",&n);
switch(n){
case 1:youxi();break;
case 2:system("cls"); paihang();break;
case 3:youxiguize();break;
case 4:youxizuorenjieshao();break;
case 5:break;
default:printf(" 您輸入的功能碼有誤,請重新輸入:\n");
for(i=1;i<=300000000;i++);
system("cls"); zhuye();
}
}
void zhuye()
{
system("cls");
printf("$$$$$$$哈!哈!累了吧,無聊了吧!玩一下小菜猜數字游戲八!¥¥¥¥¥¥¥¥\n");
printf(" 製作人:蔡硯剛");
printf("\n\n\n");
printf(" 小菜猜數字\n\n\n");
printf(" 下面玩一下吧!\n");
printf(" 按下以下數字選擇你所要的功能:\n");
printf(" 1開始游戲\n");
printf(" 2查看排行榜\n");
printf(" 3游戲規則介紹\n");
printf(" 4製作人介紹\n");
printf(" 5退出遊戲\n\n\n\n\n");
printf(" 請輸入你所要選擇的功能:");
zhuyexuanze();
}
main()
{
srand((unsigned) time(&t));
zhuye();

D. c語言編程,編譯猜數字游戲

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
void main()/*主函數*/
{
int a,b,times=0,i,j,guess=0,answer[5],g[5];
for(i=0;i<5;i++)/*隨即產生5個數*/
{
srand((unsigned int)time(NULL));/*以當前時間為種子*/
answer[i]=rand()%9+1;/*保證為1-9的數,rand產生隨即0-65535的數,對9取余為0-8,都加1就是1-9了*/
for(j=0;j<i;j++)
while(answer[i]==answer[j])/*檢查有沒有重復的數據,有就重新生成*/
{
answer[i]=rand()%9+1;
j=-1;/*新生成的數要重新檢查,此步後馬上執行j++*/
}
}
printf("隨即的5個數是:");
for(i=0;i<5;i++)
printf("%d",answer[i]);/*輸出結果到屏幕,便於測試*/
printf("\n");
printf("請輸入猜測數字:\n%");
a=0;
while(a!=5)/*a記錄位置對並且數也對的,如果5個都對就是猜對了*/
{
a=0;
b=0;/*b記錄數是有的,但位置不對的個數*/
times++;
printf("第 %d 次猜測:\t",times);
scanf("%d",&guess);
while(guess<12345||guess>99999)/*如果猜的數超過這個范圍就是瞎猜的,肯定不對,再來一次*/
{
printf("你輸入了一個非常規數據,請重新輸入:\t");
scanf("%d",&guess);
}
for(i=4;i>-1;i--)/*把玩家猜的5個數放到數組中,便於檢查對錯*/
{
g[i]=guess%10;
guess=(guess-g[i])/10;
}
for(i=0;i<5;i++)/*檢查數據對錯*/
{
for(j=0;j<5;j++)
{
if(g[i]==answer[j])/*如果猜得的數與結果的某個數一樣就把b加1*/
{
b++;
if(i==j)/*如果位置也對,那就是a加1了,對應的b已經加過,應該減1*/
{
a++;
b--;
}
}
}
}
printf("猜測結果:%dA%dB\n",a,b);
if(a==5)
printf("\t答案正確\n"); /*如果a=5就是猜對了*/
}
}

E. C語言編寫猜數字游戲

#include<stdio.h>
#include<time.h>
#include<math.h>
int main()
{
int i,a,n;
srand((int)time(NULL));
n=rand()%100+1;
for(i=0; i<5; i++)
{
printf("請輸入一個介於1到100的整數:");
scanf("%d",&a);
if(a<n)
printf("猜小了!\n");
if(a>n)
printf("猜大了!\n");
if(a==n)
{
printf("猜對了!\n");
break;
}
}
return 0;
}

F. 應用C++編譯猜數字游戲 1到100內 使用者想數字由電腦來猜 使用者告訴電

【程序】
#include<stdio.h>
void main()
{ int n,g,l,h,i;
char c[256];
while ( 1 )
{ printf("請輸入一個數字: "); scanf("%d",n);
printf("請想一個1到%d的數字\n\n",n);
l=1; h=n; i=1;
while ( 1 )
{ g=(h-l)/2+l;
if ( i>1 ) printf("那麼");
printf("您想的數字是%d ? : ",g); scanf("%s",c);
if ( c[0]=='y' ) break;
else if ( c[0]=='l' ) { l=g; i++; }
else if ( c[0]=='h' ) { h=g; i++; }
}
printf("\n用了%d次猜出了您想的數字!!\n",i);
printf("\n要從新進行游戲么 ? Y?"); scanf("%s",c);
if ( c[0]!='y' ) break;
}
printf("\n再見!\n");
}

【運行結果】
請輸入一個數字: 100請想一個1到100的數字

您想的數字是50 ? : l
那麼您想的數字是75 ? : l
那麼您想的數字是87 ? : h
那麼您想的數字是81 ? : h
那麼您想的數字是78 ? : h
那麼您想的數字是76 ? : y

用了6次猜出了您想的數字!!

要從新進行游戲么 ? Y?y

請輸入一個數字: 50
請想一個1到50的數字

您想的數字是25 ? : h
那麼您想的數字是13 ? : y

用了2次猜出了您想的數字!!

要從新進行游戲么 ? Y?n

再見!

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:511
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:14
linux485 發布:2025-07-05 14:38:28 瀏覽:296
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:747
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:421
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:671
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:229
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:672
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:273
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:823