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

c語言編寫猜數小游戲

發布時間: 2023-04-29 14:40:23

Ⅰ 一道c語言猜數游戲編程題

#include "stdio.h"
#include<time.h>
#include<stdlib.h>
void Guess(int magic, int guess)
{
static int c = 0;
c++;
if (magic == guess)
{
printf("\n你猜對了!\n你一共猜了%d次!", c);
exit(0);
}
if (magic < guess)
{
printf("\n太大了!\n");
}
else
{
printf("\n太小了!\n");
}
}
int main()
{
int m, n, i;
srand((int)time(0));
n=(rand() % 100) + 1;
//printf("n=%d\n",n);
for (i = 0; i < 10; i++) {
printf("請輸入你猜測的數:");
scanf("%d", &m);
Guess(n, m);
}

return 0;
}

Ⅱ 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語言編程:編寫一個猜數的游戲,系統自動產生一個隨機數,你來猜,程序給出提示,直到猜對為止。

import java.util.*;

class Assignment8{

public static void main(String[]args){

Scanner sc=new Scanner(System.in);

int x=(int)(Math.random()*100);//生成一個0~100的隨機數

int y=-1;

System.out.println("已生成0~100的隨機整數,請輸入您所猜的數:");

while(x!=y)

{

y=sc.nextInt();

if(y&gt;x)

{

System.out.println("輸入的數過大");

}

else if(y&lt;x)

{

System.out.println("輸入的數過小");

}

}

System.out.println("正確!該隨機數是"+x);

sc.close();

}

}

(4)c語言編寫猜數小游戲擴展閱讀:

while循環的格式:while(表達式){語句;}

while循環的執行順序:當表達式為真,則執行下面的語句,語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句,然後再判斷表達式是否為真??就這樣一直循環下去,直到表達式為假,跳出循環。

例:

int a=NULL;

while(a&lt;10){

a++;//自加

if(a&gt;5)//不等while退出循環,直接判斷循環

{break;//跳出循環}

}

結果:結束後a的值為6。

Ⅳ c語言小游戲:猜數字 隨機一個1-100之間的數,根據數據輸入進行提示

//小游戲:猜數字 隨機一個1-100之間的數,根據數歲答據輸入進行提示

#include <stdlib.h>

#include <time.h>

int main(void){

int value=0;

int num=0;

srand((unsigned int) time(NULL));

num=rand()%100+1; //1-100

while(1){

scanf("%d",&value);

if(num>value){

printf("您猜小了\n");

}

else if(num<value){

printf("您乎余慧毀橋猜大了\n");

}

else if(num=value){

printf("恭喜您猜對了\n");

break;

}

}

return 0;

}

Ⅵ 猜數游戲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語言編寫猜數游戲

建議判斷部分改一下。
1 分成兩個循環判斷
2 第一個循環先判斷位置和值都正確的
3 第二個循環為嵌套循環,對於第一個循環判斷正確的情況,不再判斷。否則會出現錯誤結果。

另外一個建議,不要每次都去計算guess的各個位值,而是直接存到一個4位的數組中,對元素進行判斷,代碼會簡單清晰得多。

Ⅷ 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;
}