c语言数组文曲星猜数游戏编程,第7章 数组-8数组的其他应用——文曲星猜数游戏...
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我们立即下架或删除。
简介:
第7章 数组
——数组的其他应用之文曲星猜数游戏
C语言程序设计
第7章 数组
文曲星猜数游戏
由计算机随机生成一个各位相异的4位数字,由人来猜
每次提示:xAxB
A前面的数字表示有几个数字猜对位置也对了
B前面的数字表示有几个数字猜对但位置不对
思路
用数组a存计算机随机生成的各位相异的4位数:MakeDigit(a)
用数组b存人猜的4位数:InputGuess(b)
比较a和b的相同位置元素,得到A前面数字:IsRightPosition(a, b)
比较a和b的不同位置元素:IsRightDigit(a, b)
4213
1234
1A3B
4231
2A2B
4A0B
4213
a[i]
b[i]
C语言程序设计
第7章 数组
文曲星猜数游戏
int main()
{ ……
MakeDigit(a); /*随机生成一个各位相异的4位数字 */
printf("How many times do you want to guess?");
scanf("%d", &level); /*最多允许猜的次数*/
count = 0; /*记录用户猜的次数*/
do{
printf("No.%d of %d times\n", count, level);
printf("Input your guess:\n");
if (InputGuess(b) == 0) continue;
count++; /*记录已经猜的次数*/
rightPosition = IsRightPosition(a, b); /*统计数字和位置都猜对的个数*/
rightDigit = IsRightDigit(a, b) – rightPosition;/*统计数字猜对位置不对的个数*/
printf("%dA%dB\n", rightPosition, rightDigit);
}while (rightPosition != 4 && count < level );
if (rightPosition == 4)
printf("Congratulations,you guess the right number at No.%d\n", count);
else
printf("Sorry,you haven't guess the right number,see you next time!\n");
printf("Correct answer is:%d%d%d%d\n", a[0], a[1], a[2], a[3]);
return 0;
}
部分主函数
C语言程序设计
第7章 数组
文曲星猜数游戏
随机生成一个各位相异的4位数字——第1种方法
void MakeDigit(int a[])
{
srand(time(NULL));
a[0] = rand()%10; /*千位数字 */
do
{
a[1] = rand() % 10; /*百位数字 */
}while (a[0] == a[1]);
do
{
a[2] = rand() % 10; /*十位数字 */
}while (a[0] == a[2] || a[1] == a[2]);
do
{
a[3] = rand() % 10; /*个位数字 */
}while (a[0] == a[3] || a[1] == a[3] || a[2] == a[3]);
}
C语言程序设计
第7章 数组
文曲星猜数游戏
随机生成一个各位相异的4位数字——第2种方法
void MakeDigit(int a[])
{
int i, j, temp;
srand(time(NULL));
for (i=0; i<10; i++)
{
a[i] = i;
}
for (i=0; i<10; i++)
{
j = rand() % 10;
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
temp
a[j] a[i]
?
4 0
4
0 4
0 1 2 3 4 5 6 7 8 9
4 1 2 3 0 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
C语言程序设计
第7章 数组
文曲星猜数游戏
统计数字和位置都猜对的
个数,对guess和magic的相同位置的元素进行比
较,得到A前面的数字
j=0 j=1 j=2 j=3
magic
guess
int IsRightPosition(int magic[], int guess[])
{
int rightPosition = 0;
int j;
for (j=0; j<4; j++)
{
if (guess[j] == magic[j])
{
rightPosition++;
}
}
return rightPosition;
}
C语言... 更多>>
c语言数组文曲星猜数游戏编程,第7章 数组-8数组的其他应用——文曲星猜数游戏...相关推荐
- 【2023】Kotlin教程 第二篇 面向对象与函数式编程 第15章 数据容器——数组和集合 15.2 集合概述
[2023]Kotlin教程 文章目录 [2023]Kotlin教程 第二篇 面向对象与函数式编程 第15章 数据容器--数组和集合 15.2 集合概述 第二篇 面向对象与函数式编程 第15章 数据容 ...
- 游戏编程入门(6):开发 Brainiac(记忆对对碰) 游戏
接上文 游戏编程入门(5):使用键盘和鼠标控制游戏 这个游戏是记忆游戏,将隐藏的方块配对.即点击一下方块,就会翻转出图片页,然后记忆几秒,回归成方块,要将相同图片的方块进行配对. 本章内容包括: 如果 ...
- python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目
另外要注意:光理论是不够的.这里顺便总大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交 ...
- 游戏编程入门(完):开发 Stunt Jumper(摩托车跳跃)游戏
Stunt Jumper 是一个横向滚动的摩托车跳跃游戏,玩家必须仔细控制摩托车手的速度,以便帮助它越过一排汽车. 本章内容包括: Stunt Jumper 的基本思路 如何设计 Stunt Jump ...
- c语言数组的实验报告结果思考,第七章实验报告(数组实验)
C语言程序设计实验报告 实验项目: 1.一维数组的应用 2.二维数组的应用 3.字符数组应用 姓名:徐溢璠 实验地点: 514实验室 实验时间:2019年5月29日 一.实验目的与 ...
- java 二维数组存储方式_JAVA-初步认识-第六章-二维数组-定义方式内存图解
一. 接下讨论数组中特殊的一部分.数组是一个容器,用来存储数据的.现在数组中存储的不再是int,double..的类型了,而是存储的数组. 数组中的元素还是数组,我们把它称之为数组中的数组,也就做二维 ...
- 通过游戏编程学Python(5)— 猜成语(下)
通过游戏编程学Python 通过游戏编程学Python(4)- 猜成语(上) 通过游戏编程学Python(3)- 赌大小 通过游戏编程学Python(2)- 脑筋急转弯 通过游戏编程学Python(1 ...
- 《Windows游戏编程大师技巧》(第二版)第11章
第三部分:核心游戏编程 第11章 算法.数据结构.内存管理和多线程 第12章 人工智能 第13章 游戏物理 第14章 文字时代 第15章 综合运用:编写游戏! 第11章 算法.数据 ...
- 偶然发现的一篇相见很晚的文章:如何学好游戏编程
今天偶然发现一篇介绍如何学好游戏编程的文章,相见恨晚呀,特转载,转帖地址:http://new.qzone.qq.com/79134054/blog/1226580538#!. <如何学好游戏编 ...
- 游戏编程十年总结(上)
自敲第一行代码起,已经十年多了,今天既不是十年整的日子,也不是一个有特定意义的日子,本来像这种大总结的文章,当择良辰吉日,斋戒沐浴三日,方可动笔.一开始计划是写一篇五年总结的,但各种原因一拖再拖,于是 ...
最新文章
- 为什么乱码:meta http-equiv=content-type前的非ANSI字符
- mysql 查询语句_SQL语言mysql基础查询语句
- oracle t44,SecureFiles LOBs基础知识之存储篇
- windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】
- flutter java混编_有赞 Flutter 混编方案
- 使用JavaScript弹出Confirm对话框
- DHTML Scriptlets 容器对象参考手册
- BZOJ 2337 XOR和路径(概率DP)
- 腾讯CDC:用户流失原因调研四步经
- unity 找到的对象是动态加载,且两个不同的父物体上都有要的那个对象并有相同的名子
- 深入理解React、Redux
- C/C++中的位运算
- 单点登录原理及其实现方案
- CentOS7 一键安装KMS服务【整理】
- 难道真的是RPWT-LFS日记1
- linux基本防护 /病毒检测
- 在家就能拍,韩系证件照拍摄教程
- centos7搭建http代理ip TinyProxy 及验证是否有效(python)
- html颜色代码对照表
- 看泽塔云如何布局自己的超融合之路