編程猜數
A. 如何猜數游戲c語言程序設計
編程如下:
#include
#include
#include
int main(int argc, char * argv[])
{
srand((unsigned)time(NULL));
int a = rand()%100;
a+=1;
int b,c;
c = 0;
while (c {
printf("Please enter a number: ");
if (scanf("%d", &b) == 0)
{
fprintf(stderr, "Invalid entry. ");
return EXIT_FAILURE;
}
else
{
if (b == a)
{
printf("You are correct, the number is %d! ", a);
printf("You used %d times to get the answer. ", c);
break;
}
else if (b >a)
printf("The number is bigger than it suppose to. ");
else
printf("The number is smaller than it suppose to. ");
c++;
}
if (c == 10)
{
printf("You used 10 times, please try again! ");
break;
}
}
return EXIT_SUCCESS;
}
B. 編程實現猜數游戲。 要求:設定一個目標值N,根據提示語來猜測N是多少,並記錄游戲者猜測的次數
我剛學Python ,用簡單的代碼可以實現你的這個問題
a= input("請輸入設定值N的值:")
i=1while True:
i +=1
b=input("請輸入你要猜的數字:")
if b > a:
print("您猜的數字大了,再小點")
if b < a:
print("您猜的數字小了,再大點")
if b == a:
print("恭喜你猜對了,您總共猜了",i,"次")
break
C. c語言猜數字游戲編程思路
分析:
先產生一個隨機數N。
然後輸入數I,如果A大於N,則提示大於信息。
如果I小於N,則提示小於信息。
直到I==N,則輸出成功信息。
這是我用C語言寫的。
環境:
WIN-C
,TORBO
C,如果是C++環境把倒數第二排getch();刪掉!
已經調試成功:
main()
{
int
i=0,n;
srand(time(0));
n=rand()%100+1;
while(i!=n)
{printf("please
input
a
number:\n");scanf("%d",&i);if(i>n)printf("this
number
is
too
big!\n");if(i<n)printf("this
number
is
too
smaller!\n");}
if(i==n)
printf("PASS!%3d",n);
getch();
}
提示:
srand(time(0));
n=rand()%100+1;
是用來生成一個1~100以內的隨機數,如果你改,把100改成50或者200。如(n=rand()%50+1;
)
D. C語言編程-猜數字
#include
#include
#define
RANDMAX
20
int
main()
{
int
onum
=
0
;//原始數
int
gnum
=
0
;//猜得數
int
i
;
onum
=
rand()%RANDMAX
;//
0-20
隨機產生個INT數給num變數,太好猜了
for
(i
=
0
;i
<
5;
i++)
{
printf("pls
input
your
guess
number:(0-20)\n")
;
//英語不好請體諒
printf("if
you
want
quit
,pls
input
:21\n")
;
scanf("%d",gnum)
;
if
(gnum
>
onum)
{
printf("too
big\n")
;
}
if
(gnum
<
onum)
{
printf("too
small\n");
}
if
(gnum
==
onum)
{
printf("ni
tai
you
cai
le\n")
;
break
;
}
if
(21
==
gnum)
{
break;
}
}
return
0
;
printf("%d",onum)
;
getchar()
;
}
E. c語言編程猜數
這個問題很好玩呢!
#include<stdio.h>
#include<conio.h>
intmain(){
inti,j,k,w,n=0;
charc;
do{
clrscr();
printf("Pleasethinkofapositiveinteger(<128),Thenpressanykeytocontinue. ");
getch();
for(i=6;i>=0;--i){
printf("?(y|n):");
w=(1<<i);
n+=w;
for(k=n,j=0;j<w;++j,++k){
if(j%20==0)printf(" ");
printf("%4d",k);
}
printf(" ");
do{c=getch();}while(c!='y'&&c!='n');
printf("%c ",c);
if(c=='n')n-=w;
}
printf("Yournumberis%d.",n);
printf(" Doyouwanttotryagain?(y|n)");
do{c=getch();}while(c!='y'&&c!='n');
}while(c=='y');
printf(" Finished! ");
getch();
return0;
}
能看懂程序吧,不多做解釋了!
F. 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就是猜對了*/
}
}
G. C語言編程猜數字
數據的規律是按照二進制的方式
比如1 是00001,所以1就只在第一行出現了
比如3 是00011 所以3就只在第一行第二行出現
比如63是11111 所以每一行都有63
再比如15 是01111 所以前四行都有15
所以最終的值就是2的n-1相加(即2進制所表示的十進制數)
比如第1行 第2行 第3行,那麼最終的值就是 2的0次方+2的1次方+2的2次方即7
H. 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();
}
}
(8)編程猜數擴展閱讀:
while循環的格式:while(表達式){語句;}
while循環的執行順序:當表達式為真,則執行下面的語句,語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句,然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。
例:
int a=NULL;
while(a<10){
a++;//自加
if(a>5)//不等while退出循環,直接判斷循環
{break;//跳出循環}
}
結果:結束後a的值為6。
I. c程序設計(猜數游戲)
這個的意思是只要你輸入的數和隨機數不相等就一直執行循環里的猜數字過程,直到你猜對退出。
J. c語言編程:猜數字游戲
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define UI unsigned short int
void game()
{
UI answer;
UI input;
UI lower=1;
UI upper=100;
UI count=0;
srand(time(NULL));
do{answer=rand()%101;}
while(answer==0);
puts("Welcome to the number guessing game!");
do
{
puts("Please enter an integer from 1 to 100 (again):");
scanf("%lu",&input);
getchar();
count=count+1;
if(input==answer){puts("You succeeded!");printf("The number of time(s) you entered is %lu.\n",count);}
else
{
puts("You failed!");
if(input<answer){if(input>lower){lower=input;}puts("The answer is greater than your input.");}
else {if(input<upper){upper=input;}puts("The answer is less than your input.");}
printf("The answer is from %lu to %lu.\n",lower,upper);
}
}
while(input!=answer);
}
#undef UI
int main()
{
game();
system("Pause");
return 0;
}