2022年2022年计算系统与程序设计基础课程设计 .pdf





《2022年2022年计算系统与程序设计基础课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算系统与程序设计基础课程设计 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 计算机程序设计基础课程设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 2 目录一:捕鱼问题 . 31、 【设计题目】 . 32、 【设计内容及思路】 . 33、 【算法】 . 34、 【程序清单与运行结果】 . 4二:荷兰国旗问题 . 31、 【设计题目】 . 62、 【设计内容及思路】 . 63、 【算法】 . 64、 【程序清单与运行结果】 . 6三:发纸牌 . 11 1、 【设计题目】 . 11 2、 【设计内容
2、及思路】 . 11 3、 【算法】 . 11 4、 【程序清单与运行结果】 . 12 四:数字旋转方阵 . 15 1、 【设计题目】 . 15 2、 【设计内容及思路】 . 15 3、 【算法】 . 15 4、 【程序清单与运行结果】 . 16 五: 【总结及设计体会】 . 19 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 3 一:捕鱼问题1、 【设计题目】A、B、C、D、E五个人合伙夜间捕鱼,上岸时都疲惫不堪,各自在湖边
3、的树丛中找地方睡觉了。清晨,A第一个醒来,将鱼分成5 份,把多余的一条扔回湖中,拿自己的一份回家了;B第二个醒来,也将鱼分成 5 份,扔掉多余的一条鱼,拿自己的一份回家了;接着,C、D、E 依次醒来,也都按同样的办法分鱼。问:5 个人至少共捕到多少条鱼?每个人醒来后看到多少条鱼?2、 【设计内容及思路】根据题意,总计将所有的鱼进行了五次平均分配,每次分配时的策略是相同的,即扔掉一条鱼后剩下的鱼正好分成五份,然后拿走自己的一份,余下其它的四份。假定鱼的总数为X,则 X 可以按照题目的要求进行五次分配: X-1 后可被 5 整除,余下的鱼为4*(X-1) 、5。3、 【算法】采用正推法, fish
4、0从 1 开始每次增加 5,然后依次考查fish【n】是否满足被 5 证书后余 1,算法描述如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 4 Step1:初始化 fish【0】=1;Step2:重复下述操作,直到fish【n】满足被 5 除后余 1;Step2.1:fish【0】=fish【0】+5;Step2.2:循环变量 i 从 1 到 4,重复执行下述操作;Step2.2.1:fish【i】=(fish【i-1】
5、-1)/5*4;Step2.2.2:如果 fish【i】不满足被5 除后余 1,则转step2.1;Step2.2.3:i+ Step3:依次输出数组 fish【n】4、 【程序清单与运行结果】#include int main() char man5 = A,B,C,D,E; int fish5, i; fish0 = 1; do fish0 = fish0 + 5; for (i = 1; i 5; i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 -
6、 - - - - - - - - 5 fishi = (fishi - 1 - 1) / 5 * 4; if (fishi % 5 != 1) break; while (i 5); for (i = 0; i 5; i+) printf(%c 看到的鱼数是 %dn, mani, fishi); return 0; 显示结果:A 看到的鱼是 3121 B看到的鱼是 2493 C看到的鱼是 1996 D 看到的鱼是 1596 E看到的鱼是 1276 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
7、- - 第 5 页,共 19 页 - - - - - - - - - 6 二:荷兰国旗问题1、 【设计题目】要求重新排列一个由Red 、White 和 Blue(这是荷兰国旗的颜色)构成的数组,使得所有的Red都排在最前面, White 排在其次, Blue排在最后。2、 【设计内容及思路】荷兰国旗问题其实就是一个排序问题,可以将红, 白,蓝 3 种颜色分别用数字 0,1,2 表示,用一个数组来存储他们。将相同颜色线条归为一类就相等于将数组中的数值按大小进行排序,只不过数组里存储的只有 3 种数值而已。 解题的基本策略是遍历两个颜色区域,如果颜色条不属于所在区域,则交换一个属于该区域的颜色条。
8、这样,每一次都是有必要的交换,从而实现最少交换次数。3、 【算法】输入:数组 Color a n ,有 Red、White、和 Blue 三种元素功能:荷兰国旗输出:有序数组 Color a n4、 【程序清单与运行结果】#include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 7 #include #include #define NUM 10 enum Color Red, White, Blue; void A(
9、enum Color a , int n); void B(enum Color a , int n); void C(enum Color a , int n); int main() enum Color a50; A (a, NUM); printf( 初始序列为: ); C(a, NUM); B(a, NUM); printf( 荷兰国旗是: ); C(a, NUM); return 0; void A(enum Color a , int n) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
10、- - - - 第 7 页,共 19 页 - - - - - - - - - 8 int temp, i; srand(time(NULL); for (i = 0; i n; i+) temp = rand( )%3; ai = (enum Color)temp; void B(enum Color a , int n) int i = 0, k = n - 1, j = 0; enum Color temp; while (j k) switch (aj) case Red : temp = ai; ai+ = aj;aj+ = temp; break; case White: j+; b
11、reak; case Blue: temp = aj; aj = ak;ak- = temp; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 9 return ; void C(enum Color a , int n) int i; for(i = 0; i n; i+) switch(ai) case Red : printf(Red ); break; case White : printf(White
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算系统与程序设计基础课程设计 2022 计算 系统 程序设计 基础 课程设计

限制150内