c语言编程 游戏规则:
1使用随机函数产生一个五位数,各位上的数字不重复,从一到九
.2按以下提示猜出这个五位数:
对每次输入猜测的数据:给出本次共猜对了多少个数字,猜对的数字并且位置正确的个数.
源码如下:
/* File: guess.c */
#include <stdio.h> /* standard input & output support */
#include <stdlib.h> /* srand() rand() */
#include <time.h> /* time() */
/* 宏定义 */
#define NUMBER_LENGTH 5 /* 随机数长度 */
#define NUMBER_LIMIT 10 /* 随机数限制, 每一位0-9 */
#define INPUT_LENTH 128 /* 输入缓冲区大小 */
char goal[NUMBER_LENGTH] = {0}; /* 保存随机数 */
char flag[NUMBER_LIMIT] = {0}; /* 保存随机数标志, 保证不重复 */
char input[INPUT_LENTH] = {0}; /* 保存输入 */
/* 初始化用于保存数据的数组 */
void initData()
{
int i = 0;
while (i < NUMBER_LENGTH)
goal[i++] = 0;
i = 0;
while (i < NUMBER_LIMIT)
{
flag[i++] = 0;
}
}
/* 初始化用于保存缓冲区的数组 */
void initBuffer()
{
int i = 0;
while (i < INPUT_LENTH)
input[i++] = 0;
}
/* 显示猜测结果 */
void display()
{
int count = 0;
int i = 0;
while (i < NUMBER_LENGTH)
{
if (input[i] == goal[i])
{
printf("%c", 'o');
count++;
}
else
{
printf("%c", 'x');
}
i++;
}
printf("\nRIGHT: %d bit(s)\n", count);
if (count == NUMBER_LENGTH)
{
printf("You win! The number is %s.\n", goal);
exit(0);
}
}
/* 生成随机数 */
void general()
{
/* 以时间作为时间种子保证生成的随机数真正具有随机性质 */
srand((unsigned int)time(NULL));
int i = 0;
while (i < NUMBER_LENGTH)
{
char tmp;
do
{
tmp = '0' + ((i != 0) ? (rand() % 10) : (1 + rand() % 9));
} while (flag[tmp] != 0);
flag[tmp] = 1;
goal[i++] = tmp;
}
}
/* 输入方法,用于猜测 */
void guess()
{
printf("Please input the number you guessed:\n");
scanf("%s", input);
display();
initBuffer();
}
/* 主函数,程序主框架 */
int main (int argc, const char * argv[])
{
initData();
initBuffer();
general();
while (1) guess();
return 0;
}
==============================================
运行结果见附图,希望我的回答能够对你有所帮助。
c语言 ,编写一个猜数游戏程序,输入一个设定的整数,供玩者猜。
include <stdio.h>#include <stdlib.h>#include #define GUESS_LIMIT 1000char *infos[] = { "【猜数游戏已启动】\\n数字已经设定好,请玩家进行猜测,数字范围在0~%d\\n", "猜测数字大了!请继续猜测:", "猜测数字小了!请继续猜测:", "恭喜猜中数字!!!共猜测了%d次\\n"...
用C语言编写的小游戏代码是什么?
{ printf("\\n\\n 猜 数 字 小 游 戏\\n\\n");printf(“ 猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\\n”);} void start( ) \/\/开始游戏 {int m,n; \/\/m是完全猜对的个数,n是顺序不对的个数 while(1){srand((unsigned)time(NULL)); \/\/初始...
c语言小游戏:猜数字 随机一个1-100之间的数,根据数据输入进行提示_百度...
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("恭喜您猜对了\\...
设计一个C语言程序 猜数游戏 规则:电脑随机产生一个1-100的随机数让玩 ...
只用%d次就猜对了。\\r\\n再来一把!\\r\\n",
C语言编程,猜数字游戏,求解!
int main (){ int guess[4],answer[4]={1,3,5,2},a=0,b,times=0,i,j;;printf("please guess\\n");while(a!=4){ a=0;b=0;times++;\/\/printf("%d ",times);printf("输入你猜的数字 ");for(i=0;i<4;i++)scanf("%d",&guess[i]); \/\/你要说清楚放在哪!不然...
用C语言编写一段猜数字游戏,跟一般的不一样,规则如下
int main(void){ int a,low,k,he,d;k=50; \/\/k为答案数 low=1;he=100;scanf("%d",&a);while(a!=k){ if(a<k){ low=a;printf("猜数的范围是:%d到%d\\n",low,he);} if(a>k){ he=a;printf("猜数的范围是:%d到%d\\n",low,he);} scanf("%d",&a);} printf("答案...
猜数字游戏C语言编程
void main(){ int magic,guess,k;char over,c;printf("退出游戏请输入z\\n");do { srand (time(NULL));magic=rand()%100+1;printf("请输入猜测的数字1~100\\n");for(k=0;guess!=magic;k++){ scanf("%d",&guess);if (guess==magic)printf("恭喜,你猜对了!\\n");scanf("%c",&...
C语言 编写一个猜数字游戏,规则:使用随机函数产生一个5位数,输入猜测...
include void main(){ intA=0,B,i,j,k=0,a[5],g[5];printf("请输入你猜测的一个5位数数字\\n");scanf("%d",&k);while(k<12345||k>99999){ printf("你输入了一个非常规数据,请重新输入\\n");scanf("%d",&k);} srand((unsignedint)time(NULL));for(i=0;i<5;i++){ a[i...
c语言设计一个猜数游戏,电脑会自动提示大了或小了,直到猜对为止
include "time.h"include "stdlib.h"int main(int argc, char* argv[]){ int r;int g;srand(time(0));r = rand()%1000;\/\/产生一个小于1000的随机数,让大家猜 printf("请输入你猜的数:");scanf("%d",&g);while(g != r)\/\/没猜中就循环 { if(g > r){ printf("大了,请...
【c语言】编写一个猜数字游戏
include 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...