❶ 請用c語言編寫猜數字游戲
沒時間來寫符合你題目的,這個是我以前寫過的一個猜數字游戲,系統會給出一個的1~99之間的隨機數,你來猜,看多少次可以猜中. 你看用得上不.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
int main (int argc, char **argv)
{
int d, c;
struct timeval tv;
gettimeofday (&tv, NULL);
srand (tv.tv_usec);
d = rand () % 100;
printf ("Please input a number:\n");
scanf ("%d", &c);
printf ("c=%d\n", c);
int min_num = 1;
int max_num = 99;
int num=1;
while (c != d)
{
if (c > d)
{
if( c < max_num )
max_num = c;
printf ("%d - %d\n", min_num ,max_num);
}
else if (c < d)
{
if( c > min_num )
min_num = c;
printf ("%d - %d\n", min_num ,max_num);
}
else
break;
scanf ("%d", &c);
num++;
printf("c = %d \n",c);
}
printf ("it's true:%d,num=%d\n", c,num);
return 0;
}
❷ C語言編程猜數字游戲
#include "stdio.h"
#include<stdlib.h>
#include"conio.h"
#include<time.h>
#include"math.h"
int main()
{
int inputnum,daan;
srand((unsigned long)time(0)); //生成種子
int times=5;
daan=rand()%10;
while(times--)
{
scanf("%d",&inputnum);
if(inputnum>daan)
{
printf("大了\n");
}
else if(inputnum<daan)
{
printf("小了\n");
}
else
{
printf("對了!");
break;
}
}
if(times==0)
printf("沒機會了");
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>x)
{
System.out.println("輸入的數過大");
}
else if(y<x)
{
System.out.println("輸入的數過小");
}
}
System.out.println("正確!該隨機數是"+x);
sc.close();
}
}
(3)c語言編程猜數字游戲文庫擴展閱讀:
while循環的格式:while(表達式){語句;}
while循環的執行順序:當表達式為真,則執行下面的語句,語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句,然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。
例:
int a=NULL;
while(a<10){
a++;//自加
if(a>5)//不等while退出循環,直接判斷循環
{break;//跳出循環}
}
結果:結束後a的值為6。
❹ 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就是猜對了*/
}
}
❺ 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
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
#define
N
4/*隨機抽N個數*/
#define
NUM
8/*NUM次猜數的機會*/
void
detect(char
s[])
{
int
i,j,num;
int
a,b;
char
ch[N];
for(num=0;num<NUM;num++)
{
a=b=0;
printf("第%d次機會:",num+1);
for(i=0;i<N;i++)
{
ch[i]=getch();
if(ch[i]>='0'&&ch[i]<='9')
{
for(j=0;j<i;j++)
if(ch[i]==ch[j])
break;
if(j<i)
i--;
else
{
putchar(ch[i]);
for(j=0;j<N;j++)
{
if(ch[i]==s[j])
if(i==j)
a++;
else
b++;
}
}
}
else
i--;
}
printf("
%dA%dB\n",a,b);
if(a==N)
{
printf("恭喜你答對了!\n");
break;
}
}
if(num==NUM)
printf("很遺憾,正確答案為:%s\n",s);
}
main()
{
int
i,j;
char
s[N+1];
srand(time(0));
for(i=0;i<N;i++)
{
s[i]=rand()%10;
for(j=0;j<i;j++)
if(s[i]==s[j])
break;
if(j<i)
i--;
else
{
s[i]+='0';
putchar('*');
}
}
s[i]='\0';
printf("\n總共%d次機會\n",NUM);
detect(s);
}
_______________________
運行結果:
-----------------------
****
總共8次機會
第1次機會:1234
0A2B
第2次機會:2345
0A2B
第3次機會:3456
1A0B
第4次機會:4567
0A1B
第5次機會:5678
0A1B
第6次機會:6789
1A1B
第7次機會:3792
0A2B
第8次機會:9482
1A3B
很遺憾,正確答案為:8429
請按任意鍵繼續.
.
.
❼ 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 <stdlib.h>
#include <stdio.h>
//#include <iostream>
unsigned char Num[4] = {0},getNum[4] = {0x20,0x20,0x20,0x20};
void help(void)
{
char i =0,j = 0;
for(i =0;i<4;i++)
{
for(j = 0;j<4;j++)
if(Num[j] == getNum[i])
{
if(i==j)
printf("%dth is correct!\r\n",i);
else
{
printf("%d is a correct data\r\n",getNum[i]);
}
}
else
{
if(i == 3&&j==3)
{printf("/********************small game*****************/\
input 4 data gess the random data,input h can get help\
");}
}
}
}
void main( void )
{
int orginal = 0,getdata = 0,i = 0,j = 0;
// { int a;a = 878*101;cout<<a<<endl}
//first = 0,second = 0,third = 0,fourth = 0;
/* Seed the random-number generator with GetTickCount so that
the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );
orginal = rand();
Num[3] = orginal%10000/1000;
Num[2] = orginal%1000/100;
Num[1] = orginal%1000%100/10;
Num[0] = orginal%10;
// printf(" %d",orginal);
for(i = 0;i<4;)
{
for(j = i+1;j<4;j++)
{
if(Num[i]==Num[j])
{ Num[i]++;if(Num[i]>9) Num[i] = 0;i=0;break;}
}
if(j == 4)i++;
}
get: for(i = 0;i<4;)
{
printf("input Num %d ",i);
scanf("%s",&getNum[i]);
if(getNum[i]-0x30>9||getNum[i]-0x30<0)
{
if (getNum[i] == 'H'||getNum[i] =='h')
{
help();
}
else
printf("input one num\r\n");
//if(i>0)i--;
}
else
{
getNum[i] -=0x30;
for(j = 0;j<i;j++)
{
if(getNum[i] == getNum[j])
{printf("have a same data,please input another\r\n"); break;}
}
if(j==i)
i++;
}
}
printf("you input num %d%d%d%d Y or N?\r\n",getNum[0],getNum[1],getNum[2],getNum[3]);
do{
scanf("%c",&j);
printf("%c",j);
if((j == 'N') || (j == 'n'))goto get;
}while( !((j == 'Y') || (j == 'y')));
printf("over");
}
❾ 猜數游戲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;
}
}