當前位置:首頁 » 編程語言 » c語言猜字游戲

c語言猜字游戲

發布時間: 2022-03-02 10:00:02

A. 設計一個猜字游戲的c語言程序

以下程序的功能是隨機產生數字,要求用戶猜測程序中產生的隨機數字,並輸入,根據猜測的結果程序給出不同的響應,如果15次沒猜對則退出。

源程序如下:
#include <stdio.h>
#include<stdlib.h>
#include<ctype.h>
main()
{
int count;/*猜數字的次數*/
int number;/*系統產生的隨機數字*/
int guess;/*程序員輸入數字*/
char yes='Y';
clrscr();
printf("\nNow let us play the game.\n Guess the number:");
while (toupper(yes)=='Y')
{
count=0;
randomize();
number=random(100)+1;
do
{
do
{
printf("\nInput an integer number(1~100):");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));/*結束第二層DO~WHILE循環*/
if (guess<number)
printf("\n Your answer is low,try again!");/*如果用戶輸入的數字小於系統隨機數,則輸出數字太小的提示信息*/

if (guess>number)
printf("\n Your answer is high,try again!");/*如果用戶輸入的數字大於系統隨機數,則輸出數字太小的提示信息*/

count++;/*猜測次數加一*/
if (count==15)
{
printf("\n This is the %d times! Think it hard next!",count);
exit(0);/*如猜測15次還沒猜對,則退出遊戲*/
}
}while (!(guess==number));
if (count<=7)/*猜測的次數小於7次*/
{
printf("\n You have got it in %d times.\n",count);
printf("\n you guess right,Congretulations!");/*游戲成功則提示祝賀信息*/
}
else
{
printf("\n You got it in %d times.\n",count);
printf("\n I bet you can do it better!");/*游戲失敗則提示鼓勵信息*/
}
printf("\n NEXT?(Y/N):");/*選擇是否重新游戲*/
scanf("%c",&yes);
}
}
運行程序時請用戶猜數字,該數字由系統隨機產生,用戶最多有七次猜測的機會,如果在七次內猜對數字,則程序顯示祝賀信息,如果用戶大於七次猜對數字,則程序顯示鼓勵信息,如果用戶連續15次都沒有猜對數字,則游戲自動退出。結束一次游戲後,系統詢問用戶進行下一次猜數字游戲,用戶輸入「Y」則開始下一次猜數字游戲,用戶如果輸入「N」則退出遊戲。

B. C語言寫猜字游戲

/*你說的功能基本達到了,但是樣式沒有怎麼調整,你自己看下吧*/
#include<stdio.h>
#include<stdlib.h>
void getNum(int a[]) /*產生隨機數*/
{int i,j;
randomize();
a[0]=random(10);
for(i=1;i<4;i++)
{
a[i]=random(10);
for(j=i-1;j>=0;j--)
if(a[i]==a[j])
{i--;
break;
}
}
}

void inputNum(int b[]) /*輸入數字,並保證沒有重復數字*/
{int i,j;
puts("Input number:");
laber:;
scanf("%d%d%d%d",&b[0],&b[1],&b[2],&b[3]);
for(i=3;i>0;i--)
for(j=0;j<i;j++)
if(b[j]==b[i])
{puts("Input again:");
goto laber;
}
}

main()
{int a[4],b[4],c[10][4],A=0,B=0,correct[10][2],count=0,i,j;
char ch;
laber:;
system("cls");
getNum(a);
while(count<10) /*最多猜10次*/
{puts("Browse the historic document?(Y/N)"); /*是否查看歷史記錄*/
ch=getchar();
if(ch=='Y'||ch=='y')
for(i=0;i<count;i++)
{printf("%d:",i+1);
for(j=0;j<4;j++)
printf("%d\t",c[i][j]);
printf("%dA %dB",correct[i][0],correct[i][1]);
putchar('\n');
}
putchar('\n');
inputNum(b);
for(i=0;i<4;i++)
c[count][i]=b[i];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{if(a[i]==b[j]&&i==j)
A++;
else if(a[i]==b[j]&&i!=j)
B++;
}
if(A==4)
{puts("Congratulations!!");
getch();
break;
}
else
printf("%dA %dB\n",A,B);
correct[count][0]=A;
correct[count][1]=B;
count++;
A=0;B=0;
getchar();
}
getchar(); /*是否再猜一次*/
puts("Guess again?");
ch=getchar();
if(ch=='Y'||ch=='y')
goto laber;
}

C. c語言猜數字游戲

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

char*getHint(char*secret,char*guess)
{
inti,countA=0,countB=0;
intcount[10]={0};
char*result=(char*)malloc(strlen(secret));
if(strlen(secret)!=strlen(guess))
{
printf("UnequalLength!");
returnNULL;
}
for(i=0;i<4;i++)
{
if(secret[i]==guess[i])
countA++;
else
{
count[secret[i]-'0']++;
if(count[secret[i]-'0']<=0)
{
countB++;
}
count[guess[i]-'0']--;
if(count[guess[i]-'0']>=0)
{
countB++;
}
}
}
sprintf(result,"%d%c%d%c",countA,'A',countB,'B');
returnresult;
}

intmain()
{
inti=0,j=0;
charnum[4]={0},input[5]={0};

srand((unsigned)time(NULL));//初始化隨機數
for(i=0;i<4;i++)//生成4個隨機數
{
num[i]=(rand()%10)+48;
}
for(j=0;j<10;j++)
{
printf("pleaseinput4-digtalsnumber[%d]times:",j+1);
fgets(input,sizeof(input),stdin);
fflush(stdin);
if(strlen(input)!=4)
{
continue;
}
printf("input[%s] ",input);

strcpy(input,getHint(num,input));
printf("ret=[%s] ",input);
if(strcmp(input,"4A0B")==0)
{
printf("YouareWin! ");
break;
}
}

return0;
}

D. c語言猜字游戲

pow10(i)改成pow(10,i)就行了,函數的形式被你寫錯了

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

同學你好!
下面是我自己做了一個,運行是成功的。希望對你有所幫助!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
void
main()
{
int
i,j,cnt,guard=1;
while(guard)/*利用guard來判斷是否繼續進行游戲*/
{
srand((unsigned)time(NULL));
i=rand()%100;/*隨機生成整數*/
cnt=0;/*比較次數置零*/
for(;;)
{
printf("Please
input
the
data:");
scanf("%d",&j);
cnt++;/*次數累加*/
if(j>i)
printf("Too
high!\n");
else
if(j<i)
printf("Too
low!\n");
else
{
printf("Right!\n");
printf("The
cnt
is:%d\n",cnt);
printf("Wanna
continue?
1.continue
0.exit\n");
scanf("%d",&guard);/*選擇是否繼續*/
break;
}
}
}
}
希望我的回答對你有幫助,祝你的C成績進步

F. 怎樣用C語言實現猜字游戲

//電腦隨機生成一個50以內的整數,然後從鍵盤輸入一個整數猜系統生成的數,直到猜對為止,並輸出所猜次數。
#include<stdio.h>
#include
<stdlib.h>
#include<time.h>
void
main()
{
int
count=0;
int
flag=1;
do
{
srand(time(NULL));
int
num1,num=rand()%51;
printf("請輸入您要猜的數(0-50):");
scanf("%d",&num1);
if(num1>50)
{
printf("輸入有誤,請重新輸入\n");
continue;
}
printf("隨機數為:%d\n",num);
count++;
if(num1==num)
{
flag=0;
}
printf("猜錯了!3請繼續\n\n\n");
}while(flag);
printf("%d",count);
}

G. C語言猜字游戲設計

#include <stdio.h>
void main()
{
int s=5,j;
int i,a[4];
printf(" 猜數游戲,您有五次機會。\n\n\n\n");

for(i=0;i<5;i++)
{
printf("請輸入第%d個數:",i+1);
scanf("%d",&a[i]);
if(a[i]==s)
{
printf("猜對了!\n");
j=0;
break;

}

else
{
if(a[i]>s)
{
printf("猜大了!\n");
j=1;
}

else
{
printf("猜小了!\n");
j=1;
}
}
}
if(j==1)
{
printf("不好意思!你沒有猜中!");
}
}
不懂就追問

H. 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;

}

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

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

I. C語言猜字游戲

我用qt寫過,有源碼
http://www.qtcn.org/bbs/read.php?tid=11224&fpage=1&toread=&page=1

J. 用c語言編猜字游戲,急~

#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int
main()
{
char
ch;
int
input,rad,i;
time_t
start,end;
printf("do
you
want
to
play
it?(y/n)\n");
while(1)
{
scanf("\n%c",&ch);
if(ch=='n')
exit(0);
srand((unsigned
int)time(NULL));
/*產生隨機數*/
rad=(rand()%101);
printf("Please
input
a
number\n");
start=time(NULL);
/*開始計時*/
while(1)
{
scanf("%d",&input);
if(input<rad)
printf("please
input
a
little
bigger\n");
else
if(input>rad)
printf("please
input
a
little
smaller\n");
else
{
end=time(NULL);
/*回答正確,計時結束*/
if(difftime(end,start)<=15)
printf("你太聰明了!\n");
printf("Correct!!\nDo
you
want
to
try
again?(y/n)\n");
break;
/*退出第二層while循環*/
}
}
}
}
已經測試過,如果還有不明白的可以找我

熱點內容
華為手機視頻在哪個文件夾 發布:2025-01-12 02:56:54 瀏覽:715
電腦qq音樂緩存音樂 發布:2025-01-12 02:55:27 瀏覽:344
手機沒改密碼為什麼密碼變了 發布:2025-01-12 02:55:24 瀏覽:811
繼承者下載22下載ftp 發布:2025-01-12 02:44:06 瀏覽:354
資料庫換格式 發布:2025-01-12 02:44:02 瀏覽:460
一起編程地球 發布:2025-01-12 02:42:43 瀏覽:874
無法設置kms伺服器地址怎麼辦 發布:2025-01-12 02:42:36 瀏覽:525
android任務 發布:2025-01-12 02:36:07 瀏覽:633
家用辦公學習電腦要什麼配置 發布:2025-01-12 02:27:00 瀏覽:912
十一代思域勁動有哪些配置 發布:2025-01-12 02:26:56 瀏覽:416