当前位置:首页 » 编程软件 » 编译猜数字游戏

编译猜数字游戏

发布时间: 2022-12-12 19:35:21

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

}

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

运行结果见附图,希望我的回答能够对你有所帮助。

B. 用JAVA语言编写一个“猜数字游戏”的程序

int num = (int)(Math.random()*100)+1;

Scanner sc = new Scanner(System.in);

int guessNum = -1;

while (guessNum != num) {

System.out.println("请输入1-100之间整数");

guessNum = sc.nextInt();

if (guessNum == num) {

System.out.println("中啦");

} elseif (guessNum < num) {

System.out.println("小啦");

} else {

System.out.println("大了");

}

}

(2)编译猜数字游戏扩展阅读:

编写思路

1、成1-100之间随机数

(int)(Math.random()*100)+1;

提示用户输入数字,

Scannersc=newScanner(System.in);

intguessNum= sc.nextInt();

需要将随机数和用户输入的数字进行比较。

猜一次:

Scanner sc = new Scanner(System.in);

int num = (int)(Math.random()*100)+1;

System.out.println("请输入0-100之间整数");

int guessNum = sc.nextInt();

if (guessNum == num) {

System.out.println("中啦");

}elseif(guessNum < num) {

System.out.println("小啦");

}else{

System.out.println("大了");

}

二、使用while循环

publicstaticvoid main(String[] args) {

int num = (int)(Math.random()*100)+1;

Scanner sc = new Scanner(System.in);

while (true) {

System.out.println("请输入1-100之间整数");

int guessNum = sc.nextInt();

if (guessNum == num) {

System.out.println("中啦");

} elseif (guessNum < num) {

System.out.println("小啦");

} else {

System.out.println("大了");

}

}

}

三、最后用while() 括号中的条件表达式,当用户猜测的数和系统生成的数字不相等时,就需要继续循环。

C. 猜数游戏的C语言编译代码

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
time_t t;
int a[4];
char q[5]="1234";
void youxizuorenjieshao()
{
void zhuye();
system("cls");
printf("\n\n\n");
printf(" 游戏制作人介绍\n");
printf(" 姓名 :蔡砚刚\n");
printf(" 年龄 :18\n");
printf(" 性别 :男\n");
printf(" 出生年月(阳历):1989年12月4日\n");
printf(" 出生年月(阴历):1989年十一月初七\n");
printf(" 学校 :浙江工商大学\n");
printf(" 毕业学校 :安丘八中\n");
printf(" 出生地 :山东潍坊安丘\n");
printf(" 班级 :软件0701\n");
printf(" 院系 :计算机与信息工程学院\n");
printf(" 寝室 :钱江湾生活区41#518\n");
printf(" 电话 :15858263646\n");
printf(" 这就是对菜鸟的介绍:你想评价一下他的游戏么?\n");
printf(" 返回主菜单按任意键:");
getchar();getchar();
zhuye();

}
void youxiguize()
{
void zhuye();
system("cls");
printf("\n\n\n\n");
printf(" 游戏介绍:\n");
printf(" 1输入一个各位上数字互不相等的四位数\n");
printf(" 2如果你输入的数字中有n个相同的数字返回nA\n");
printf(" 3如果你输入的数字中有m个相同且位置相同返回mB\n");
printf(" 4当返回值是4A4B时即为猜中数字\n");
printf(" 5还可以提前偷窥数字但要输入密码\n");
printf(" 现在你已知道游戏规则,那么赶快玩魅力小菜猜数字游戏吧!\n");
printf(" 按任意键返回主采单:");
getchar();getchar();
zhuye();
}
void suijishu()
{
a[0]=rand() %10;
while(1){
a[1]=rand()%10;
if(a[1]!=a[0]) break;
}
while(1){
a[2]=rand()%10;
if((a[2]!=a[0])&&(a[2]!=a[1])) break;
}
while(2){
a[3]=rand()%10;
if((a[3]!=a[0])&&(a[3]!=a[1])&&(a[3]!=a[2])) break;
}
}
void xiaofanhui()
{
int n;
void panan();
void youxi();
void zhuye();
system("cls");
printf("\n\n\n\n\n\n\n\n");
printf(" 现在你已经成功完成游戏\n");
printf(" 按1继续游戏\n");
printf(" 按2返回主菜单\n");
printf(" 按3返回上一级\n");
printf(" 请选择:");
scanf("%d",&n);
switch(n){
case 1:suijishu();printf(" 请输入所猜数字:");
panan();break;
case 2:zhuye();break;
case 3:youxi();break;
default:system("cls");printf(" 这个功能码不正确\n");break;
}
}
void panan()
{
long n;
int i,j,k,l;
char b[5];
j=0;l=0;
scanf("%s",b);
for(i=0;i<4;i++)
b[i]=b[i]-'0';
for(i=0;i<4;i++) {
if(a[i]==b[i]) j++;
for(k=0;k<4;k++)
if(a[i]==b[k]){ l++;break;}
}
if((j==4)&&(l==4)){
printf(" 4A4B\n");
printf(" 恭喜你,干的不错,想记入排行榜么?");
for(n=1;n<=300000000;n++);
xiaofanhui();
}
else{
printf(" %dA%dB",l,j);
printf("请输入所猜数字:");
panan();
}
}
void print()
{
printf("\n\n\n\n\n\n\n");
printf(" 魅力小菜猜数字游戏现在开始\n");
printf(" 你做好准备了么?\n");
printf(" 如果你用最少的次数猜中的话,还有望进入小菜排行榜呢\n");
printf(" 请输入所猜数字:");panan();
}
void mima()
{
int i,j;
char p[5];
void youxi();
system("cls");
printf("\n\n\n\n\n\n\n\n");
printf(" 你可真偷懒!偷懒需要密码吆!你知道密码么?\n");
printf(" 请输入密码:");
for(i=1;i<3;i++){
scanf("%s",p);
if(strcmp(p,q)==0){ system("cls"); printf("偷窥答案是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);print();}
else{ printf(" 密码错误\n");
printf(" 请输入密码:");
}
}
scanf("%s",p);
if(strcmp(p,q)==0){ system("cls"); printf("偷窥答案是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);print();}
else printf(" 密码错误\n");
printf(" 你已输入3次密码还错误,看来偷鸡不成蚀把米\n");
printf(" 还是本分点玩游戏吧:");
for(j=1;j<=500000000;j++);
youxi();
}
void youxi()
{
int m;
system("cls");
suijishu();
printf("\n\n\n\n\n\n\n\n");
printf(" 魅力无限的猜数字游戏现在开始:\n");
printf(" 按1现在开始游戏\n");
printf(" 按2提前偷窥(需要4位密码吆)\n");
printf(" 请输入:");
scanf("%d",&m);
switch(m){
case 1:system("cls");print();panan();break;
case 2:mima();break;
}
}
void paihang()
{
char ch;
FILE *fp;
void zhuye();

if((fp=fopen("paihangbang.txt","r"))==NULL){
printf("无信息\n");
}
while(!feof(fp)){
ch=fgetc(fp);
putchar(ch);
}
if(fclose(fp)){
printf("不能关闭文件\n");
}
printf("\n看到了吧,你想成为其中一员吗?赶快来玩吧!小菜给你无限惊喜!返回主菜单请按任意键");
getchar();getchar();
zhuye();
}
void zhuyexuanze()
{
int n;
long i;
void zhuye();
scanf("%d",&n);
switch(n){
case 1:youxi();break;
case 2:system("cls"); paihang();break;
case 3:youxiguize();break;
case 4:youxizuorenjieshao();break;
case 5:break;
default:printf(" 您输入的功能码有误,请重新输入:\n");
for(i=1;i<=300000000;i++);
system("cls"); zhuye();
}
}
void zhuye()
{
system("cls");
printf("$$$$$$$哈!哈!累了吧,无聊了吧!玩一下小菜猜数字游戏八!¥¥¥¥¥¥¥¥\n");
printf(" 制作人:蔡砚刚");
printf("\n\n\n");
printf(" 小菜猜数字\n\n\n");
printf(" 下面玩一下吧!\n");
printf(" 按下以下数字选择你所要的功能:\n");
printf(" 1开始游戏\n");
printf(" 2查看排行榜\n");
printf(" 3游戏规则介绍\n");
printf(" 4制作人介绍\n");
printf(" 5退出游戏\n\n\n\n\n");
printf(" 请输入你所要选择的功能:");
zhuyexuanze();
}
main()
{
srand((unsigned) time(&t));
zhuye();

D. 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就是猜对了*/
}
}

E. C语言编写猜数字游戏

#include<stdio.h>
#include<time.h>
#include<math.h>
int main()
{
int i,a,n;
srand((int)time(NULL));
n=rand()%100+1;
for(i=0; i<5; i++)
{
printf("请输入一个介于1到100的整数:");
scanf("%d",&a);
if(a<n)
printf("猜小了!\n");
if(a>n)
printf("猜大了!\n");
if(a==n)
{
printf("猜对了!\n");
break;
}
}
return 0;
}

F. 应用C++编译猜数字游戏 1到100内 使用者想数字由电脑来猜 使用者告诉电

【程序】
#include<stdio.h>
void main()
{ int n,g,l,h,i;
char c[256];
while ( 1 )
{ printf("请输入一个数字: "); scanf("%d",n);
printf("请想一个1到%d的数字\n\n",n);
l=1; h=n; i=1;
while ( 1 )
{ g=(h-l)/2+l;
if ( i>1 ) printf("那么");
printf("您想的数字是%d ? : ",g); scanf("%s",c);
if ( c[0]=='y' ) break;
else if ( c[0]=='l' ) { l=g; i++; }
else if ( c[0]=='h' ) { h=g; i++; }
}
printf("\n用了%d次猜出了您想的数字!!\n",i);
printf("\n要从新进行游戏么 ? Y?"); scanf("%s",c);
if ( c[0]!='y' ) break;
}
printf("\n再见!\n");
}

【运行结果】
请输入一个数字: 100请想一个1到100的数字

您想的数字是50 ? : l
那么您想的数字是75 ? : l
那么您想的数字是87 ? : h
那么您想的数字是81 ? : h
那么您想的数字是78 ? : h
那么您想的数字是76 ? : y

用了6次猜出了您想的数字!!

要从新进行游戏么 ? Y?y

请输入一个数字: 50
请想一个1到50的数字

您想的数字是25 ? : h
那么您想的数字是13 ? : y

用了2次猜出了您想的数字!!

要从新进行游戏么 ? Y?n

再见!

热点内容
微博数据库设计 发布:2025-07-05 15:30:55 浏览:13
linux485 发布:2025-07-05 14:38:28 浏览:294
php用的软件 发布:2025-07-05 14:06:22 浏览:745
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:418
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:667
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:228
java的开发流程 发布:2025-07-05 12:45:11 浏览:669
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:271
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:821
1970linux 发布:2025-07-05 12:12:43 浏览:109