《C语言》试卷B------智力猜字游戏 游戏规则简介: 由计算机在0-9,这10个数字中,选取4
《C语言》试卷B------智力猜字游戏游戏规则简介:由计算机在0-9,这10个数字中,选取4个数字组成序列,数字不能重复。由玩家来猜测这四个数字所在的位置并输入,如果位...
《C语言》试卷B------智力猜字游戏
游戏规则简介:
由计算机在0-9,这10个数字中,选取4个数字组成序列,数字不能重复。由玩家来猜测这四个数字所在的位置并输入,如果位置和数字都正确,则X+1,如果仅仅是数字正确,位置不正确,则Y+1。玩家根据X、Y的值进行分析,再次输入数字,系统根据玩家输入的数字再次给出XY的值。玩家再次根据XY的值进行猜测,直到把四个数字的位置和数字都猜对。即X=4,Y=0。游戏结束。
游戏运行演示界面如下:
系统功能分析
本系统由以下几个功能模块(函数)构成:
显示模块(函数):显示指定(已知)数组中的元素。
校验模块(函数):验证指定(已知)数组的合法性,数组中的数据是否有重复?是否有超出0-9范围的数据?
选号模块(函数):将输入的整数存入数组a1,并将a1作为本模块(函数)的结果。
随机数产生模块(函数):产生随机数存入数组b1,并将b1作为本模块(函数)的结果。
比对模块(函数):将选号模块得到的数组a1与随机数产生模块得到的数组b1进行比对,看有多少个数组元素是相同的,如果元素值相同且位置也相同,则X+1,否则Y+1
目的:掌握函数(函数)的定义、调用、嵌套、递归、指针、循环、选择
要求:各个子功能模块(函数)独立实现,并能够独立测试。
主要知识点:函数的定义、调用。
知识点补充:如果将指针作为函数返回值,那么该指针所指向的变量必须是静态的,否则,指针有效,但其所指向的变量已经被释放了 展开
游戏规则简介:
由计算机在0-9,这10个数字中,选取4个数字组成序列,数字不能重复。由玩家来猜测这四个数字所在的位置并输入,如果位置和数字都正确,则X+1,如果仅仅是数字正确,位置不正确,则Y+1。玩家根据X、Y的值进行分析,再次输入数字,系统根据玩家输入的数字再次给出XY的值。玩家再次根据XY的值进行猜测,直到把四个数字的位置和数字都猜对。即X=4,Y=0。游戏结束。
游戏运行演示界面如下:
系统功能分析
本系统由以下几个功能模块(函数)构成:
显示模块(函数):显示指定(已知)数组中的元素。
校验模块(函数):验证指定(已知)数组的合法性,数组中的数据是否有重复?是否有超出0-9范围的数据?
选号模块(函数):将输入的整数存入数组a1,并将a1作为本模块(函数)的结果。
随机数产生模块(函数):产生随机数存入数组b1,并将b1作为本模块(函数)的结果。
比对模块(函数):将选号模块得到的数组a1与随机数产生模块得到的数组b1进行比对,看有多少个数组元素是相同的,如果元素值相同且位置也相同,则X+1,否则Y+1
目的:掌握函数(函数)的定义、调用、嵌套、递归、指针、循环、选择
要求:各个子功能模块(函数)独立实现,并能够独立测试。
主要知识点:函数的定义、调用。
知识点补充:如果将指针作为函数返回值,那么该指针所指向的变量必须是静态的,否则,指针有效,但其所指向的变量已经被释放了 展开
展开全部
//合法性判断不全,楼主自己加一下吧
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
#define N 4
int a1[N];
int b1[N];
int X,Y;
void rand_array()
{
int i=0,j;
srand((int)time(0));
while(i<N)
{
b1[i] = rand()%10;
j = 0;
while(j<i)
{
if(b1[i]==b1[j])
{
break;
}
j++;
}
if(i==j)
{
i++;
}
}
}
void display(int *a)
{
int i;
for(i=0;i<N;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
void scan_array()
{
int i;
for(i=0;i<N;i++)
{
a1[i] = getchar()-48;
}
getchar();
}
void compile()
{
int i,j;
X=Y=0;
for(i=0;i<N;i++)
{
if(a1[i]==b1[i])
{
X++;
}
else
{
for(j=0;j<N;j++)
{
if(a1[i]==b1[j])
{
Y++;
}
}
}
}
printf("X=%d,Y=%d\n",X,Y);
}
void main()
{
rand_array();
while(X!=4)
{
scan_array();
compile();
}
printf("恭喜您猜对了!\n");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询