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

猜數題c語言

發布時間: 2022-08-01 12:29:37

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語言)

scanf("%d\n",&n); 改成 scanf("%d",&n);
輸入的時候換行?

還有這些代碼是不是沒有寫完整我在VS2008上調試少了幾個頭文件!

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
void compare(int x,int y);
void main()
{
int a,num;
srand((unsigned)time(NULL));
num=(1000+rand()%9000);/*隨即產生一個1000-9999的數*/
printf("%d\n",num); /*輸出產生的數字;*/
printf("please write in a four figures:");
scanf("%d",&a);/*輸入第一個數;*/
compare(a,num); /*調用函數,產生的數與輸入的數比較;*/
}
int count1=0;
int count2=0;
int sum=0;
int n;
void compare(int x,int y)
{

if(x>y)
{printf("The number is bigger.\n");
printf("please write in a four figures again:\n");
scanf("%d",&n);

count1=count1+1; /*記錄輸入數比產生數小的次數;*/
compare(n,y); /*繼續調用函數比較;*/
}
if(x<y)
{
printf("The number is smaller.\n");
printf("please write in a four figures again:\n");
scanf("%d",&n);

count2=count2+1; /*記錄輸入數比產生數大的次數;*/
compare(n,y);
}

if(x==y) {printf("your are right.");
printf("The number is %d.\n",y);/*輸出這個數*/
printf("The step is %d.\n",(count1+count2));}/*輸出一共用了多少步驟*/

}

Ⅲ 一道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語言:猜數問題!!

部分測試

Ⅳ C語言猜數題目

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
structValue
{
intV;
intC;
};
intmain(){
intsum=0;
intinput;
Valuevs[10];
srand(time(0));
for(inti=0;i<10;i++)
{
intx=rand()%100+1;
printf("開始第%d輪猜數游戲,共10輪 ",i+1);
vs[i].C=i+1;
vs[i].V=0;
for(intj=10;j>0;j--)
{
printf("輸入猜的數:");
scanf("%d",&input);
if(input==x){
sum+=j*10;
vs[i].V=j*10;
printf("恭喜對了,獲得%d分獎勵",j*10);
break;
}
elseif(input>x)
{
printf("輸入大了呀…… ");
}
else
{
printf("輸入小了啊 ");
}
}
printf("本輪游戲結束,獲得總積分:%d ",sum);

}

printf(" 游戲全部結束,統計表 ");
for(inti=0;i<9;i++)
{
for(intj=i+1;j<10;j++)
{
if(vs[i].C<vs[j].C){
Valuev=vs[i];
vs[i]=vs[j];
vs[j]=v;
}
}
}
for(inti=0;i<10;i++)
{
printf("名次:%d 得分:%d 輪次:%d ",i+1,vs[i].V,vs[i].C);
}
scanf("%d",&input);
return0;
}

為你剛寫的……

Ⅵ 猜數游戲 c語言編程題

#include <stdio.h>
#include <time.h> //產生隨機數需要此頭文件

void main()
{
int n, in, t; //n為隨機數,in為猜的數,t為猜的次數
srand((unsigned)time(NULL));//初始化隨機數
while(1)
{
n = rand() % 100 + 1; //產生隨機數
t = 0;
while(1)
{
printf(">");
scanf("%d", &in); //輸入猜的數
if(in > 100 || in < 1)//輸入非法
{
printf("illegal input\n");
continue;
}

t++; //放在這個位置,輸入非法不會增加猜的次數

if(in > n)//大了
{
printf("Big\n");
}
else if(in < n)//小了
{
printf("Small\n");
}
else//猜對了
{
printf("Right, %d time(s)\n", t);
break;
}

if(t > 9)
{
printf("over\n");
}
}
}
}

Ⅶ c語言中猜題游戲。

includeamp;stdio.hamp;;includeamp;stdlib.hamp;;includeamp;math.hamp;;includeamp;time.hamp;;void main()/*主函數*/{ int a,b,times=0,i,j,guess=0,answer[5],g[5]; for(i=0;iamp;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;jamp;i;j++) while(answer[i]==answer[j])/*檢查有沒有重復的數據,有就重新生成*/ { answer[i]=rand()%9+1; j=-1;/*新生成的數要重新檢查,此步後馬上執行j++*/ } } printf(;隨即的5個數是:;); for(i=0;iamp;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;,amp;amp;guess); while(guessamp;12345guessamp;;99999)/*如果猜的數超過這個范圍就是瞎猜的,肯定不對,再來一次*/ { printf(;你輸入了一個非常規數據,請重新輸入:\t;); scanf(;%d;,amp;amp;guess); } for(i=4;iamp;;-1;i--)/*把玩家猜的5個數放到數組中,便於檢查對錯*/ { g[i]=guess%10; guess=(guess-g[i])/10; } for(i=0;iamp;5;i++)/*檢查數據對錯*/ { for(j=0;jamp;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語言編寫猜數游戲

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

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

Ⅸ 猜數字題目。C語言

#include<stdio.h>
main()
{
int i=50;//假設預置數字是50
int n;
int num=0;//num紀錄輸入次數
printf("input a num you guess(1-100):");
scanf("%d",&n);
while(n!=i)
{
if(n>i)
printf("big\n");
if(n<i)
printf("small\n");
num++;
printf("input a num you guess(1-100):");
scanf("%d",&n);
}
printf("great!!\n");
if(num<11)
printf("%dturns",num);
return 0;
}
大概是這樣 因為在網吧,沒調試 不過應該不太完善 沒時間拉 稍作修改吧88

Ⅹ c語言猜數字

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

int zishu;
int min=1,max=100;
void jieshou()
{
printf("請在%d到%d中輸入您猜的數:",min,max);
scanf("%d",&zishu);
if(zishu<min||zishu>max)
{
printf("\n對不起,您輸入的數不合法,請重新輸入!");
scanf("%d",&zishu);
}
}

void main()
{
srand( (unsigned)time( NULL ) );
int suiji=rand()%100+1; //產生隨機數
int cishu=0;

jieshou(); //接受用戶猜的數

while(cishu!=10)
{
if(zishu>suiji) //判斷
{
max=zishu;
jieshou();
}
else if(zishu<suiji)
{
min=zishu;
jieshou();
}
else
{
printf("您真牛逼!!這樣也能猜對!!");
break;
}
cishu++;
}
if(cishu==10)
exit(0);
}