当前位置:首页 » 编程语言 » c语言编写猜数小游戏
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言编写猜数小游戏

发布时间: 2023-04-29 14:40:23

Ⅰ 一道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语言,编写一个猜数字游戏

源码如下:

/*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<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;
}

Ⅳ 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();

}

}

(4)c语言编写猜数小游戏扩展阅读:

while循环的格式:while(表达式){语句;}

while循环的执行顺序:当表达式为真,则执行下面的语句,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句,然后再判断表达式是否为真??就这样一直循环下去,直到表达式为假,跳出循环。

例:

int a=NULL;

while(a&lt;10){

a++;//自加

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

{break;//跳出循环}

}

结果:结束后a的值为6。

Ⅳ c语言小游戏:猜数字 随机一个1-100之间的数,根据数据输入进行提示

//小游戏:猜数字 随机一个1-100之间的数,根据数岁答据输入进行提示

#include <stdlib.h>

#include <time.h>

int main(void){

int value=0;

int num=0;

srand((unsigned int) time(NULL));

num=rand()%100+1; //1-100

while(1){

scanf("%d",&value);

if(num>value){

printf("您猜小了\n");

}

else if(num<value){

printf("您乎余慧毁桥猜大了\n");

}

else if(num=value){

printf("恭喜您猜对了\n");

break;

}

}

return 0;

}

Ⅵ 猜数游戏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;
}
}

Ⅶ C语言编写猜数游戏

建议判断部分改一下。
1 分成两个循环判断
2 第一个循环先判断位置和值都正确的
3 第二个循环为嵌套循环,对于第一个循环判断正确的情况,不再判断。否则会出现错误结果。

另外一个建议,不要每次都去计算guess的各个位值,而是直接存到一个4位的数组中,对元素进行判断,代码会简单清晰得多。

Ⅷ 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;
}