课 程 设 计 报 告 2 0 0 9 ~2 0 1 0 学年第 2 学期 课程 数据结构与算法 课程设 计 名 称 纸牌游戏 2 0 1 0 年5 月 一、问题分析和任务定义 1
题目: 纸牌游戏 2
要求和任务: ① 该题目的要求如下: (1)将52 张牌编号
(2)从2 开始,依次作为基数对基数的倍数的牌进行翻转,直到以52 为基数的翻转
(3)最后输出正面向上的牌
② 基本任务为: (1)按照要求翻转纸牌
(2)输出最后正面向上的纸牌的编号
原始数据的输入及输出格式: 原始数据要求输入纸牌的基础编号,编号的输入为整型
输出的是经过规律翻转后正面向上的纸牌的编号
输入的数据信息如下: 纸牌:1、2、3……、51、52
问题直观分析表: 1 2 3 4 5 6 7 8 9 10 11 12 …… 1 2 √ √ √ √ √ √ 3 √ √ √ √ 4 √ √ √ 5 √ √ 6 √ √ 7 √ 8 √ 9 √ 10 √ 11 √ 12 √ …… …… (注:图中“√”表示翻转一次
数据结构的选择和概要设计 1
数据结构 按照题目要求,整个主体包括一个嵌套的循环,外循环控制从2 开始每张纸牌都作为基数进行翻牌,内循环控制对所有纸牌进行判断,如果是当前循环中基数的倍数,则对其进行翻转操作
具体代码如下: for(i=2;i