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

猜數游戲c語言編程報告

發布時間: 2023-03-09 20:52:26

1. 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");

}

2. 用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;
}

3. C語言編程_幸運52猜數游戲__

加分啊,哈哈
#include<iostream.h>
const int N=10;
void compare(double p[],int n);
void sort(double g[],double p[]);
void main()
{
cout<<"歡迎進入幸運52猜數游戲"<<"t"<<"製作人:電氣 C097 張欣瑞 096133"<<endl;
double g[N]={12,16,20,40,60,55,91,43,33,50},p[10];
char choice;//記錄輸入的判斷是否進行的字元
for(int a=1;;a++)
{
cout<<"現在開始游戲?請選擇n(否)或者y(是)"<<endl;
cin>>choice;
if(choice=='y')
{
cout<<"游戲規則:\n"
<<"1.由玩家自選商品序號並對商品價格進行猜測"<<"\n"
<<"2.系統會對玩家所給出的價格進行分析並提示高了或者低了"<<"\n"
<<"3.對於每件商品玩家都有十次機會猜出其價格若10次機會都沒有猜中則該輪游戲結束"<<"\n"
<<"4.若玩家在10次之內猜出商品價格則可以選擇是否繼續猜另一種商品的價格"<<"\n"
<<"5.游戲結束後系統會自動對商品進行價格排序並且現實出來商品編號"<<"\n";
cout<<endl;
for (int m=0;m<10;m++)
{
cout<<"請選擇商品編號(0至9)"<<endl;
int n;//n記錄輸入的所猜的題號
cin>>n;
compare(p,n);//調用函數
}
}
else
{
cout<<"游戲結束"<<endl;
break;
}
}
sort(g,p);
}
void compare(double p[],int n)//判斷猜出價格的高低以及是否正確的分函數
{
double g[N]={12,16,20,40,60,55,91,43,33,50};

for(int b=0;b<10;b++)
{
cout<<"請輸入商品價格"<<endl;
cin>>p[b];
if(p[b]<g[n])
cout<<"Wrong"<<"\t"<<"低了"<<endl;
else if(p[b]>g[n])
cout<<"Wrong"<<"\t"<<"高了"<<endl;
else if(p[b]==g[n])
{
cout<<"Right!"<<"\t"<<"您猜了"<<b+1<<"次價格就猜對了"<<"\n"<<"不錯!"<<endl;
b=+10;
}
}

}
void sort(double g[],double p[])//把商品按照價格由低到高排序,並把排序後的商品序號顯示出來的分函數
{
double t,k[N];//c1
for(int i=0;i<N;i++)
k[i]=g[i];
for(int j=0;j<N-1;j++)
for(int m=0;m<N-1-j;m++)
if(g[m]>g[m+1])
{
t=g[m];
g[m]=g[m+1];
g[m+1]=t;
}//c2---c1-c2為用冒泡法排序
for(i=0;i<N;i++)
for(int j=0;j<N;j++)
{
if(k[j]==g[i])
cout<<g[i]<<"\t"<<"商品編號"<<j<<endl;//用查找的方法顯示數組原來的序
}
}

4. 猜數游戲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;
}
}

5. C語言編程:編寫一個猜數的游戲,系統自動產生一個

static void Main(string[] args) { string i = null; do { Console.Write("請輸入一個整數(范圍為1~100)\n如果要退出,請輸入0!否則輸入1!"); i = Console.ReadLine(); if (i.Trim().Equals("0")) { return; } } while (!i.Trim().Equals("1")); start: Random ra = new Random(); int rndInt = ra.Next(1, 100); int input = 0; do { Console.Write("輸入你猜的數值:"); i = Console.ReadLine(); if (!int.TryParse(i, out input)) { continue; } if (input > rndInt) { Console.Write("猜大了\n\n"); } else if (input < rndInt) { Console.Write("猜小了\n\n"); } } while (input != rndInt); Console.Write("恭喜你,猜對了!\n\n"); do { Console.Write("若繼續猜測輸入Y,若退出則輸入N!\n請輸入:"); i = Console.ReadLine(); if (i.Trim().Equals("n", StringComparison.OrdinalIgnoreCase)) { return; } if (i.Trim().Equals("y", StringComparison.OrdinalIgnoreCase)) { goto start; } } while (!i.Trim().Equals("1")); }

6. 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();

}

}

(6)猜數游戲c語言編程報告擴展閱讀:

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

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

例:

int a=NULL;

while(a&lt;10){

a++;//自加

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

{break;//跳出循環}

}

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

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

}

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

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