收藏 分享(赏)

程序设计考试复习题.doc

上传人:dzzj200808 文档编号:2278015 上传时间:2018-09-09 格式:DOC 页数:7 大小:226KB
下载 相关 举报
程序设计考试复习题.doc_第1页
第1页 / 共7页
程序设计考试复习题.doc_第2页
第2页 / 共7页
程序设计考试复习题.doc_第3页
第3页 / 共7页
程序设计考试复习题.doc_第4页
第4页 / 共7页
程序设计考试复习题.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、程序设计考试复习题(课堂整理仅供参考)必考题 1:穷举法应用实例 2:百钱买百鸡 “百钱买百鸡” 是我国古代数学家张丘建提出的一个著名的数学问题。假设某人有钱百枚,希望买一百只鸡;不同的鸡价格不同,公鸡 5 枚钱一只,母鸡 3 枚钱一只,而小鸡 3 只 1枚钱。试问:如果用百枚钱买百只鸡,可以包含几只公鸡、几只母鸡和几只小鸡。 例 3:百钱买百鸡。 (1)问题分析从题目要求可知:公鸡、母鸡和小鸡的数量是有限的,都不会超过 100。通过对不同数量的公鸡、母鸡和小鸡进行组合,可以计算出购买这些鸡所用的花费,但这个题目要求找出那些花费正好 100 枚且鸡的总数也为 100 只的情况。因此,可以采用穷

2、举法,将不同的公鸡、母鸡和小鸡的数量枚举一遍,找出那些符合题目要求的解。 (2)算法描述 (3)程序代码 #include main( )N Y 开 始 条 件 判 断 x 加 1 结 束 zmain( )int item, ratio, sum,i;printf( “nEnter the first item and ratio: ” );scanf( “%ld%ld”, sum=item;for ( i=1; imain( ) long f1 = 1, f2 = 1, f3, i,n;scanf ( “%ld”, if (n开 始 ch=getchar() 输 出 统 计 结 果 相 应

3、累 加 器 加 1 结 束 是 大 写 是 小 写 相 应 累 加 器 加 1 ch!=n Y N Y N N Y Comment S4: 该题在原课件上进行了变形,不确定是否放在该处,此处5分Comment S5: 该题原课件上有错误,考试变形:改下评委人数#define NUM 26 main( )int letterNUM = 0; char ch; int i;printf(“nEnter text linen“); while (ch=getchar() != n) if (A#define NUM 13 main( )float scoreNUM; int i,minValue,

4、maxValue ;float sum;/* 输入 13位评委给出的分数 */printf(“nEnter 3 score:“);开 始 输 入 13位 评 委 的 分 数 输 出 歌 手 的 分 数 计 算 最 高 、 最 低 分 及 总 分 结 束 计 算 歌 手 的 最 终 分 数 Comment S6: 该题也在原课件上进行了变形:改为输出字符for (i=0; iscoremaxValue) maxValue = i;sum = sum+scorei;/* 计算并输出歌手的最终得分 */sum = (sum- scoreminValue-scoremaxValue)/(NUM-2);

5、printf(“nFinal score is %6.2f“, sum);必考题 4:例 6:假设用户通过键盘输入一个整型数列。请编写一个程序,将其按照从小到大的顺序重新排列。 (该题考试时变形为字符的排列,把原 ppt中的 int改为 char,把 c 改为 d,最终输出 c)(1)问题分析:l 首先从 n个数据中选择一个最小的数据,并将它交换到第 1个位置;然后再从后面 n-1个数据中选择一个最小的数据,并将它交换到第 2个位置;以此类推,直至最后从两个数据中选择一个最小的数据,并将它交换到第n-1个位置为止,整个排序操作结束。 (2)算法描述:选 择 最 小 值 minValue 0i

6、i#define NUM 10 /* 参与排序的数据个数 */main()char dataNUM; /* 存放参与排序的所有整数 */char i, j, minValue, temp;/* 通过键盘输入待排序的整型数列 */printf(“nEnter %c char.“, NUM);for (i=0; iNUM; i+) scanf(“%c“, /* 显示原始整型数列 */printf(“n%c char are:“, NUM);for (i=0; iNUM; i+) printf(“%5c“, datai);for (i=0; iNUM-1; i+) minValue = i;for (j=i+1; jNUM; j+) if (datajdataminValue)minValue = j;if (minValue!=i) /* 交换 */temp = datai;datai = dataminValue;dataminValue = temp;/* 输出排序后的结果 */printf(“nOrdering list is:n“);for (i=0; iNUM; i+) printf(“%5c“, datai);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报