版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系: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数组的其他应用——文曲星猜数游戏...相关推荐

  1. 【2023】Kotlin教程 第二篇 面向对象与函数式编程 第15章 数据容器——数组和集合 15.2 集合概述

    [2023]Kotlin教程 文章目录 [2023]Kotlin教程 第二篇 面向对象与函数式编程 第15章 数据容器--数组和集合 15.2 集合概述 第二篇 面向对象与函数式编程 第15章 数据容 ...

  2. 游戏编程入门(6):开发 Brainiac(记忆对对碰) 游戏

    接上文 游戏编程入门(5):使用键盘和鼠标控制游戏 这个游戏是记忆游戏,将隐藏的方块配对.即点击一下方块,就会翻转出图片页,然后记忆几秒,回归成方块,要将相同图片的方块进行配对. 本章内容包括: 如果 ...

  3. python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目

    另外要注意:光理论是不够的.这里顺便总大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交 ...

  4. 游戏编程入门(完):开发 Stunt Jumper(摩托车跳跃)游戏

    Stunt Jumper 是一个横向滚动的摩托车跳跃游戏,玩家必须仔细控制摩托车手的速度,以便帮助它越过一排汽车. 本章内容包括: Stunt Jumper 的基本思路 如何设计 Stunt Jump ...

  5. c语言数组的实验报告结果思考,第七章实验报告(数组实验)

    C语言程序设计实验报告 实验项目: 1.一维数组的应用 2.二维数组的应用 3.字符数组应用 姓名:徐溢璠     实验地点: 514实验室       实验时间:2019年5月29日 一.实验目的与 ...

  6. java 二维数组存储方式_JAVA-初步认识-第六章-二维数组-定义方式内存图解

    一. 接下讨论数组中特殊的一部分.数组是一个容器,用来存储数据的.现在数组中存储的不再是int,double..的类型了,而是存储的数组. 数组中的元素还是数组,我们把它称之为数组中的数组,也就做二维 ...

  7. 通过游戏编程学Python(5)— 猜成语(下)

    通过游戏编程学Python 通过游戏编程学Python(4)- 猜成语(上) 通过游戏编程学Python(3)- 赌大小 通过游戏编程学Python(2)- 脑筋急转弯 通过游戏编程学Python(1 ...

  8. 《Windows游戏编程大师技巧》(第二版)第11章

    第三部分:核心游戏编程   第11章 算法.数据结构.内存管理和多线程   第12章 人工智能   第13章 游戏物理   第14章 文字时代   第15章 综合运用:编写游戏! 第11章 算法.数据 ...

  9. 偶然发现的一篇相见很晚的文章:如何学好游戏编程

    今天偶然发现一篇介绍如何学好游戏编程的文章,相见恨晚呀,特转载,转帖地址:http://new.qzone.qq.com/79134054/blog/1226580538#!. <如何学好游戏编 ...

  10. 游戏编程十年总结(上)

    自敲第一行代码起,已经十年多了,今天既不是十年整的日子,也不是一个有特定意义的日子,本来像这种大总结的文章,当择良辰吉日,斋戒沐浴三日,方可动笔.一开始计划是写一篇五年总结的,但各种原因一拖再拖,于是 ...

最新文章

  1. 为什么乱码:meta http-equiv=content-type前的非ANSI字符
  2. mysql 查询语句_SQL语言mysql基础查询语句
  3. oracle t44,SecureFiles LOBs基础知识之存储篇
  4. windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】
  5. flutter java混编_有赞 Flutter 混编方案
  6. 使用JavaScript弹出Confirm对话框
  7. DHTML Scriptlets 容器对象参考手册
  8. BZOJ 2337 XOR和路径(概率DP)
  9. 腾讯CDC:用户流失原因调研四步经
  10. unity 找到的对象是动态加载,且两个不同的父物体上都有要的那个对象并有相同的名子
  11. 深入理解React、Redux
  12. C/C++中的位运算
  13. 单点登录原理及其实现方案
  14. CentOS7 一键安装KMS服务【整理】
  15. 难道真的是RPWT-LFS日记1
  16. linux基本防护 /病毒检测
  17. 在家就能拍,韩系证件照拍摄教程
  18. centos7搭建http代理ip TinyProxy 及验证是否有效(python)
  19. html颜色代码对照表
  20. 看泽塔云如何布局自己的超融合之路

热门文章

  1. 怪叔叔 一路走好 下辈子我们再一起玩KOF
  2. 苹果手机微信聊天记录删除了怎么恢复?(基础操作版)
  3. 单月营业额一个亿,任泉李冰冰黄晓明追着投钱!这家企业是谁?
  4. 推荐跟Shell有关的有意思网站
  5. 心理测试html5,50个最准心理测试题 非常准的心理测试题
  6. ask调制流程图_利用卷积神经网络的自动调制分类算法
  7. 农夫山泉,它欺骗我们了吗?
  8. idea出现outdated version提示框
  9. C++虚函数、多继承和虚基类学习心得 内存布局
  10. Topic modeling made just simple enough