c语言猜游戏
❶ 【c语言】编写一个猜数字游戏
已经改正,如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void circle(int i)
{
int n ;
printf("请输入您所猜的数字(0-100) \n");
scanf("%d",&n);
if(i<n)
{
printf("the number is larger,input agine.\n");
circle(i);
}
if(i>n)
{
printf("the number is smaller.input agine \n");
circle(i);
}
if(i==n)//?不是
printf("the number is %d so congratulations!you got it!",i);
}
int main()
{
int flag =1;
printf("This is a small game,what you should do is just guess a intange number.\n");
printf("Now,please guess the number!\n");
srand((unsigned)time(NULL));
while(flag)
{
int i=rand()%100;//?使用 % 而不是 / ,产生的数字在0-100之间,放在循环体内,每次循环都产生一个随机数
circle(i);
printf("\n继续玩请输入 1,退出请输入 0");
scanf("%d",&flag);
}
getchar();
return 0;
}
❷ 用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语言编程 编一个猜数字游戏
#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就是猜对了*/
}
}
❹ c语言编程 猜数游戏
#include
"stdio.h"
#include
"stdlib.h"
#include
"time.h"
void
main()
{
int
i,m,n;
srand(time(NULL));
i=1+(int)rand()%100;
for(m=5;m>0;m--)
{
printf("请输入你认为的值:");
scanf("%d",&n);
if(n>i)
printf("对不起
你输入的数字太大了,你现在还有%d次机版会.\n",m-1);
else
if(n
评论
0
0
加载更多权
❺ c语言 简单猜数游戏 急
#include
<stdio.h>
#include<stdlib.h>
#include
<time.h>
main()
{
int
a,b,i=1;
srand((unsigned)time(NULL));//产生来随机数种子
a=rand()%100+1;//产生随机数
printf("\n\t-------------------
欢迎进入猜自数游戏
-------------------\n\n");
printf("
@游戏开始@
请猜一个数(1~100):");
scanf("%d",&b);
while(i<8)//判断的循环体
{
if(a==b)
{printf("
o(≥v≤)o
恭喜你答对了!\n");break;}
else
if(a>b)
printf("
@对不起@
你猜小了...\n");
else
if(a<b)
printf("
@对不起@
你猜大了...\n");
printf("
@没关系@
再猜一次吧:");
scanf("%d",&b);
i++;
}
if(i==8)printf("-_-!!!对不起,你猜错了8次,你输了\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语言编写一个猜数字游戏
同学你好!
下面是我自己做了一个,运行是成功的。希望对你有所帮助!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
void main()
{
int i,j,cnt,guard=1;
while(guard)/*利用guard来判断是否继续进行游戏*/
{
srand((unsigned)time(NULL));
i=rand()%100;/*随机生成整数*/
cnt=0;/*比较次数置零*/
for(;;)
{
printf("Please input the data:");
scanf("%d",&j);
cnt++;/*次数累加*/
if(j>i)
printf("Too high!\n");
else if(j<i)
printf("Too low!\n");
else
{
printf("Right!\n");
printf("The cnt is:%d\n",cnt);
printf("Wanna continue? 1.continue 0.exit\n");
scanf("%d",&guard);/*选择是否继续*/
break;
}
}
}
}
希望我的回答对你有帮助,祝你的C成绩进步
❽ c语言:猜数字游戏代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
intnum,n,i,cnt=0,finish=0;
srand((unsignedint)time(NULL));
num=rand()%100;
printf("请猜数字,0~100之间 ");
do{
scanf("%d",&i);
cnt++;
if(i<0&&i>=100)
{
printf("GameOver ");
finish=1;
}
elseif(i>num)printf("Toobig ");
elseif(i<num)printf("Toosmall ");
else
{
printf("你用了%d次机会猜中!",cnt);
finish=1;
}
}while(!finish);
return0;
}
❾ c语言猜数字游戏源代码
小游戏2048:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<windows.h>
int jsk( ); //计算空格数
void rsgm( ); //重置游戏
void inkey( ); //按键输入
void left( ); //向左移动
void right( ); //向右移动
void up( ); //向上移动
void down( ); //向下移动
void show( ); //输出界面
void adnum( ); //添加随机数
void yes( ); //游戏是否结束(1是0否)
void gtxy(int x, int y); //控制光标位置的函数
int a[4][4]; //存储16个格子中的数字
int score = 0; //每局得分
int best = 0; //最高得分
int ifnum; //是否需要添加数字(1是0否)
int over; //游戏结束标志(1是0否)
int i,j,k;
int main( )
{ rsgm( ); //重置游戏
inkey( ); //按键输入
return 0;
}
void Color(int a) //设定字符颜色的函数(a应为1-15)
{ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a); }
void rsgm( ) //重置游戏
{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //启动随机数发生器
int n = rand( ) % 16; //随机函数产生0-15的数字
for (i = 0; i < 4; i++)
{for (j = 0; j < 4; j++)
{ if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }
else { a[i][j] = 4; } n--; }
else { a[i][j] = 0; n--; }
}
}
adnum( );
system("cls");
CONSOLE_CURSOR_INFO gb={1,0}; //以下两行是隐藏光标的设置,gb代指光标
SetConsoleCursorInfo( GetStdHandle(STD_OUTPUT_HANDLE), &gb );
Color(14); //设置字体淡黄色
printf(" 2048小游戏"); Color(7); //恢复白字黑底
printf(" ┌──────┬──────┬──────┬──────┐");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" └──────┴──────┴──────┴──────┘");
show( );
}
void show( ) //输出界面
{ for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ gtxy(7*j+9,2*i+4); //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字
if(a[i][j]==0){printf(" "); Color(7); printf("│");}
else if(a[i][j]<10){ if (a[i][j] == 2) { Color(14); }
else if (a[i][j] == 4) { Color(13); }
else if (a[i][j] == 8) { Color(12); }
printf(" %d ", a[i][j]); Color(7 ); printf("│");
}
else if (a[i][j] < 100){if (a[i][j] == 16) { Color(12); }
else if (a[i][j] == 32) { Color(10); }
else if (a[i][j] == 64) { Color(2 ); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
else if (a[i][j] < 1000) {if (a[i][j] == 128) { Color(9); }
else if (a[i][j] == 256) { Color(1); }
else if (a[i][j] == 512) { Color(13); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
else if (a[i][j] < 10000) {if (a[i][j] == 1024) { Color(5); }
else { Color(15); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
}
if (jsk( ) == 0)
{ yes( ); if (over) { gtxy(9,12); Color(10);
printf(" 游戏结束!是否继续? [ Y/N ]:"); }
}
}
void inkey( ) //按键输入
{ int key;
while (1)
{ key = getch( );
if (over) { if (key == 89|| key == 121) { rsgm( ); continue; }
else if (key == 78|| key == 110) { return; }
else continue; }
ifnum = 0;
if(key==224)key=getch( );
switch (key)
{ case 75: left( ); break;
case 77: right( ); break;
case 72: up( ); break;
case 80: down( );break;
}
if (score > best) { best = score; }
if (ifnum) { adnum( ); show( ); }
}
}
int jsk( ) //计算空格数
{ int n = 0;
for (i = 0; i < 4; i++)
{ for (j = 0; j < 4; j++) { if ( a[i][j] == 0) {n++;} } }
return n;
}
void left( ) //向左移动
{ for (i = 0; i < 4; i++)
{for (j = 1, k = 0; j < 4; j++)
{ if (a[i][j] > 0)
{ if ( a[i][k] == a[i][j])
{ a[i][k] *= 2; k++;
score = score + 2 * a[i][j];
a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }
k++; }
}
}
}
}
void right( ) //向右移动
{for (i = 0; i < 4; i++)
{for (j = 2, k = 3; j >= 0; j--)
{if (a[i][j] > 0)
{ if (a[i][k] == a[i][j])
{a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }
}
}
}
}
void up( ) //向上移动
{for (i = 0; i < 4; i++)
{for (j = 1, k = 0; j < 4; j++)
{if (a[j][i] > 0)
{if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];
a[j][i] = 0; ifnum = 1; }
else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }
k++; }
}
}
}
}
void down( ) //向下移动
{ for (i = 0; i < 4; i++)
{for (j = 2, k = 3; j >= 0; j--)
{if (a[j][i] > 0)
{if (a[k][i] == a[j][i])
{a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }
else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else {a[k - 1][i] = a[j][i];
if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }
}
}
}
}
void adnum( ) //添加随机数
{ srand(time(0)); int n = rand( ) % jsk( );
for (int i = 0; i < 4; i++)
{for (int j = 0; j < 4; j++)
{ if (a[i][j] == 0) {if (n != 0) { n--; }
else {int k = rand( ) % 3;
if (k == 0 || k == 1) {a[i][j] = 2; return; }
else {a[i][j] = 4; return; } }
}
}
}
}
void yes( ) //游戏是否结束
{ for (int i = 0; i < 4; i++)
{for (int j = 0; j < 3; j++)
{if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}
}
over = 1;
}
void gtxy(int x, int y) //控制光标位置的函数
{ COORD zb; //zb代指坐标
zb.X = x;
zb.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), zb);
}
❿ 求C语言程序,猜数游戏。
#include<stdlib.h>
intmain()
{
intn,g,d,t;
n=156;
printf("请输入一个数字: ");
scanf("%d",&g);
while(1)
{
if(g<n)
{
d=g;
printf("太小了, 在输入一个数字:");
scanf("%d",&t);
g=t;
}
if(g>n)
{
d=g;
printf("太大了, 再输入一个数字:");
scanf("%d",&t);
g=t;
}
if(g==n)
{
printf("你猜对了!就是156。 ");
break;
}
}
return0;
}