當前位置:首頁 » 編程語言 » 簡單猜數游戲c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

簡單猜數游戲c語言

發布時間: 2023-06-02 05:02:33

c語言猜數游戲(高低游戲)

#include <stdio.h>
#include <stdlib.h>
void clear()
{
scanf("%*[^\n]");
scanf("%*c");
} //清除輸入緩沖區

void Inspect(int number,int cn)
{
int innum,flag=0;
while(cn<7 && flag==0){
printf("輸入猜測的數據(0~99):");
scanf("%d",&innum);
if(innum==number)
{
flag=1;
printf("恭喜,猜對了,共用了%d次!\n",cn);
}
else if(innum>number)
{
cn++;
printf("很遺憾,你猜錯了,是更小的數,你還有%d次機會!\n",7-cn);
}
else
{
cn++;
printf("很遺憾,你猜錯了,是更大的數,你還有%d次機會!\n",7-cn);
}
}
if(cn==7){
printf("你已經沒有機會嘗試了,請重新再來\n");
printf("%d\n",number);
}
} //游戲主體判斷函數

int main()
{
int number=rand()%100;
int cn=0;
char tp='y';
Inspect(number,cn);
while(tp=='y'){
printf("你還想繼續嘗試嗎?(y/n):");
clear(); //清除輸入緩沖區,防止之前的輸入影響後面的代碼執行
scanf("%c",&tp);
if(tp=='y') {cn=0;Inspect(number,cn);}
}
return 0;
}

② c語言:猜數字游戲代碼

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

intmain()
{
intnum,n,i,cnt=0,finish=0;
srand((unsignedint)time(NULL));
num=rand()%100;
printf("請猜數字,0~100之間 ");
do{
scanf("%d",&i);
cnt++;
if(i<0&&i>=100)
{
printf("GameOver ");
finish=1;
}
elseif(i>num)printf("Toobig ");
elseif(i<num)printf("Toosmall ");
else
{
printf("你用了%d次機會猜中!",cnt);
finish=1;
}

}while(!finish);
return0;
}

③ c語言設計猜數字游戲

基本實現功能,但菜單和計分慶塵腔自己實現!
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <windows.h>

#define MAXTIMES 10
#define winer 1
#define loser 0

int main()
{
int aid[4],num[4],i,j,times,key,key2,A,B;
char ch;
time_t now;
Initialize:now=time(0);
srand(now);
aid[0]=(rand()+90)%10;/*生成目標數組*/
Sleep(20);
aid[1]=(rand()+90)%10;
Sleep(20);
aid[2]=(rand()+90)%10;
Sleep(20);
aid[3]=(rand()+90)%10;
for(i=0;i<4;i++) /*判斷是否產生相同的數字*/
{
for(j=0;j<4;j++)
{
if((i!=j)&&(aid[i]==aid[j]))
goto Initialize;
}
}
printf("\n");
times=1;
while(times<=MAXTIMES) /*程序主體部分*/
{
key=0;
key2=0;
printf("NO.%d:\n\tPlease input 4 different int numbers to play!\n\t",times);
scanf("%d,%d,%d,%d",&num[0],&num[1],&num[2],&num[3]);
for(i=0;i<4;i++) /*判斷所輸數字是否合法則*/
{
if(!((num[i]<=9)&&(num[i]>=0)))
{
printf("\tError!The numbers you input must be int numbers which from 0 to 9\n");
key=1;
break;
}
}
if(key==1)
continue;
for(i=0;i<4;i++) /*判斷是否輸入了相同的數字*/
{
for(j=i+1;j<4;j++)
{
if(num[i]==num[j])
{
printf("\tError!The numbers you input must be different!\n");
key2=1;
}
break;
}
}
if(key2==1)
continue;
A=0;
B=0;
for(i=0;i<4;i++) /兄罩*比較兩組數字*/
{
if(num[i]==aid[i])
A++;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(num[i]==aid[j])
B++;
}
}
B=B-A;
printf("\tA%dB%d\n",A,B);
if(A==4) /*游戲成功,提示並返回*/
{
printf("Congratulations!\n");
printf("Press any key to exit.!\n");
getchar();
return(winer);
}
else /*這次不譽衫完全對,允許次數內重新猜*/
{
printf("\t\tPress ENTER to continue,or press A to see about answer and exit.\n"); /*選擇是否放棄,看答案*/
ch=getchar();
if(ch=='n')
{
continue;
}
if((ch=='a')||(ch=='A'))
{
printf("The four numbers:%d,%d,%d,%d\n",aid[0],aid[1],aid[2],aid[3]);
getchar();
return(loser);
}
}
times++;
}
printf("Sorry!You have lost all the chances!nPress any key to exit!\n");
getchar();
}

④ 猜數游戲c語言

#include <stdio.h>
#include <stdlib.h>
main()
{
int n,t,g;
char c;
while(1)
{
n = 1 + rand() % 100;
printf("請猜一個1~100的數字:");
scanf("%d",&g);
t=1;
while(g!=n)
{
if(t==10) break;
if(g<n) printf("猜小了哦\n");
else printf("猜大了哦\n");
scanf("%d",&g);
t++;
}
if(t==1) printf("太棒了,一次就猜對了!\n");
else if(t>2 && t<5) printf("猜了%d次,也不錯哦。\n",t);
else if(t>4 && t<8) printf("猜了%d次,還可以\n",t);
else if(t==8 || t==9) printf("猜了%d次才對,你亂猜的吧\n",t);
else if(t==10) printf("怎麼猜了10次還不對啊,算了,猜下一個吧。\n");
if((c=getchar())=='q') break;
}
}

⑤ 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;

}

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

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

⑥ 用C語言編寫猜數游戲

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int n,g,i=10;
srand((unsigned)time(NULL));
n=rand()%100+1;//////////////////////////////隨機數
while(i--)
{
printf("Input A Number: ");////////////////////////提示輸入
scanf("%d",&g);
if(n==g)
break;
else if(g<n)
printf("Lower Than That\n");
else
printf("Higher Than That\n");
}
if(i==0)
printf("Game Over!\n");//////////////////////////////10次
else
printf("%d Times\n",10-i);///////////////////////////猜中
return 0;
}

⑦ C語言編程 猜數游戲

#include
#include
//用到了rand函數,所以要有這個頭文件
#include
//用到了time函數,所以要有這個頭文件
int
main()
{
int
number;
//number用於存儲隨機數
int
guess=0;
//guess用於存儲玩家猜的數
srand((unsigned)
time(null));//用系統時間作為rand函數使用的種子
number=rand()%100;
//隨機除以100,取余數
number++;
//余數加1
printf("猜數字游戲\n");
printf("該數字在1到100之間\n");
while(guess!=number)
{
printf("請輸入您所猜的數:");
scanf("%d",&guess);
//如果玩家猜的數較小,給予提示
if
(guess
number)
{
printf("大了\n");
}
}
//猜中則循環結束,輸出猜中的數字
printf("猜對了,這個數字就是:%d\n",number);
return
0;
}

⑧ 猜數字游戲 C語言簡單程序代碼

#include
#include
#include
#include
int
i,j=1;
int
scores[6];
void
main()
{
char
control='\0';
int
rand1,guess,score;
printf("開始游戲嗎
?(y?n)");
control=getchar();
while(control!='y'&&control!='y'&&control!='n'&&control!='n')//屏蔽其他按鍵
{
printf("無效字元!開始游戲嗎
?(y?n)");
fflush(stdin);
control=getchar();
printf("%c",control);
}
while((control=='y')||(control=='y'))
{
system("cls");
srand((unsigned)time(null));
rand1=rand()%10+1;
//printf("%d",rand1);
for(i=0;i<20;i++)
{
printf("請輸入你猜的數:");
scanf("%d",&guess);
if(guess>rand1)printf("大啦!\n");
else
if(guess
:猜對了\a\n");//響鈴\a
break;
}
i++;
}
i+=1;
if(i==1)
{
score=100;
scores[0]++;
}
else
if(i>=2&&i<=3)
{
score=90;
scores[1]++;
}
else
if(i>=4&&i<=6)
{
score=80;
scores[2]++;
}
else
if(i>=7&&i<=10)
{
score=70;
scores[3]++;
}
else
if(i>=11&&i<=15)
{
score=60;
scores[4]++;
}
else
{
score=0;
scores[5]++;
}
printf("第%d次得分是:%d\n",j,score);
scores[7]+=score;
j++;
printf("是否繼續(y?n)\n");
fflush(stdin);//請輸入緩沖區
control=getchar();
while(control!='y'&&control!='y'&&control!='n'&&control!='n')
{
printf("無效字元!只能按y或y,n或n是否繼續(y?n)\n");
fflush(stdin);
control=getchar();
printf("%c",control);
}
}
system("cls");//清屏
printf("+++++++++++++++-----------------以下是得分情況:---------------*************\n");
for(i=0;i<5;i++)
{
printf("+++++++++++++++------------------得%d分%d次:------------------*************\n",10*(10-i),scores[i]);
}
printf("+++++++++++++++------------------得%d分%d次:------------------*************\n",
0,scores[5]);
}

⑨ C語言設計一個簡單的猜數游戲:先由計算機「想」一個數請用戶猜,如果用戶猜對了,則計算機給出提示信息

//希望我的回答對你的學習有幫助
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

intmain()
{
intx,magic,a=0,c=1;
charb;
do
{
srand(unsigned(time(NULL))); //為函數rand()設置隨機數種子
magic=rand()%100+1; //magic為1~100間的一個數
printf("您每次游戲中,只有十次機會 ");
while(a<=10)
{
scanf("%d",&x);
if(x>magic)
printf("Wrong,比magic大 ");
elseif(x<magic)
printf("Wrong,比magic小 ");
//elseif(x=magic) //這里的邏輯運算應該使用「==」
elseif(x==magic) //你應該是寫錯了
{
printf("Right ");
a=a+1;
printf("你猜了%d次了 ",a);
a=0; //猜對之後,應該對猜測的次數初始化
break;
}
a++;
printf("你猜了%d次了 ",a);
if(a==10)
{
a=0;
printf("Doyouwanttocontinue?(回答Y/N或者y/n) ");
//scanf_s("%c",&b); //這么使用,會將你在輸入字元之前的
//空行(enter鍵)賦值給b,而不是你輸入的Y/N/y/n
scanf("%c",&b); //而這種寫法,%c前面的空格會使scanf忽略前面的enter鍵
//等待第一個非enter鍵元素讀入
if(b=='y'||b=='Y')
c=1;
elseif(b=='n'||b=='N')
c=0;
break; //當猜測次數為10時,應當跳出
//這里不會自動跳出,因為a被初始化為0
}
}
}while(c==1);

return0;
}

scanf 裡面沒有空格的情況,程序會自動執行 10 次