计算机二级上机考试常有算法ppt课件.ppt_第1页
计算机二级上机考试常有算法ppt课件.ppt_第2页
计算机二级上机考试常有算法ppt课件.ppt_第3页
计算机二级上机考试常有算法ppt课件.ppt_第4页
计算机二级上机考试常有算法ppt课件.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国二级C语言 上机典型题型 1 运用 和 分离整数的各位 1 请编写函数fun 其功能是 将两个两位数的正整数a b合并形成一个整数放在c中 合并的方式是 将a数的十位和个位数依次放在c数个位和十位上 b数的十位和个位数依次放在c数的百位和千位上 例如 当a 16 b 35 调用该函数后 c 5361 includevoidfun inta intb long c c b 10 1000 b 10 100 a 10 10 a 10 2 2 数组xx N 保存着一组 位数的无符号正整数 其元素的个数通过变量num传入函数fun 请补充函数fun 该函数的功能是 从数组xx中找出个位和百位的数字相等的所有无符号整数 结果保存在数组yy中 其个数由函数fun 返回 例如 当xx 8 135 78 72 32 222 424 333 141 541 时 bb 6 787 232 222 424 333 141 include defineN1000intfun intxx intbb intnum inti n 0 intg b for i 0 i num i g xx i 10 b xx i 100 if g b bb n xx i returnn 3 3 以下程序可把输入的十进制数以十六进制数的形式输出 69 2main charb 17 0123456789ABCDEF intc 64 d i 0 base 16 longn printf Enteranumber n scanf ld 4 4 请补充函数fun 该函数的功能是 把一个整数转换成字符串 并倒序保存在字符数组str中 例如 当n 13572468时 str 86427531 include include defineN80charstr N voidfun longintn inti 0 while n 0 str i n 10 0 n 10 i str i 0 5 数组特殊位置元素的确定 1 下列程序定义了N N的二维数组 并在主函数中赋值 请编写函数fun 函数的功能是 求出数组周边元素的平方和并作为函数值返回给主函数中的s defineN5intfun intw N inti j k 0 ints 0 for i 0 i N i for j 0 j N j if i 0 i N 1 j 0 j N 1 只要下标中有一个为0或N 1 则它一定是周边元素 s s w i j w i j 将周边元素求平方和 returns 返回周边元素的平方和 6 2 下列程序定义了N N的二维数组 并在主函数中自动赋值 请编写函数fun inta N intn 该函数的功能是 使数字右 左 上半三角元素中的值乘以m defineN5intfun inta N intm inti j for i 0 i N i for j i j N j a i j a i j m 7 最大公约数与最小公倍数 1 请补充main函数 该函数的功能是 输入两个正整数m和n 求这两个数的最大公约和最小公倍数 题盘34 283 2 includemain inta b n m t printf nInputtwonumbers n scanf d d 8 判断素数 1 请编写一个函数voidfun intm intk intxx 该函数的功能是 将大于整数m且紧靠m的k个非素数存入所指的数组中 例如 若输入15 5 则应输出16 18 20 21 22 voidfun intm intk intxx inti j n for i m 1 n 0 n k i 找大于m的非素数 循环k次 即找出紧靠m的k个非素数 for j 2 j i j 判断一个数是否为素数 if i j 0 xx n i 如果不是素数 放入数组xx中 break 并跳出本层循环 判断下一个数 9 字符串逆序存放 1 请补充函数fun 该函数的功能是 把从主函数中输入的字符串str2倒置后接在字符串str1后面 例如 str1 Howdo str2 oduoy 结果输出 Howdoyoudo defineN40voidfun char str1 char str2 inti 0 j 0 k 0 n charch char p1 str1 char p2 str2 while p1 i i while p2 j j n j for k j 2 k j ch p2 k p2 k p2 j p2 j ch p2 n 0 for p2 i p1 i p2 p1 i 0 10 2 补充函数fun char s 该函数的功能是把字符串中的内容逆置 例如 字符串中原有的字符串为abcde 则调用该函数后 串中的内容变为edcba include include include defineN81voidfun char s inti 0 n strlen s chart for i n 2 i t s i s i s n 1 i s n 1 i t 11 字符串中特定字符或字符串的统计 1 请补充函数fun 该函数的功能是 按 0 到 9 统计一个字符串中的奇数数字字符各自出现的次数 结果保存在数组num中 注意 不能使用字符串库函数 例如 输入 x 112385713 456 0 909 bc 结果为 1 3 3 2 5 2 7 1 9 2 include defineN1000voidfun char tt intnum inti j intbb 10 char p tt for i 0 i 0 12 2 str是全部由小写字母字符和空格字符组成的字符串 由num传入字符串的长度 请补充函数fun 该函数的功能是 统计字符串str中的单词个数 结果由变量num传回 每个单词之间都由空格隔开 并且字符串str开始不存在空格 例如 str howdoyoudo 结果为 num 4 defineN80voidfun char s int num inti n 0 for i 0 i a 13 3 请补充函数fun 该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数 例如 假定输入的字符串为 asdascasdfgasdasasdmlosd 子字符串为asd 则应输出4 intfun char str char substr intn char p r n 0 while str p str r substr while r if r p r p elsebreak if r 0 n str returnn 14 字符串移动 1 下列给定程序中 函数fun 的功能是 在字符串str中找出ASC 码值最小的字符 将其放在第一个位置上 并将该字符前的原字符向后顺序移动 例如 调用fun 函数之前给字符串输入fagAgBDh 调用后字符串中的内容为AfaggBDh voidfun char p charmin q inti 0 min p i while p i 0 if min p i q p i min p i i while q p q q 1 q p 0 min 15 循环左移算法 1 请编写函数fun 该函数的功能是 移动一维数组中的内容 若数组中有n个整数 要求把下标从0到p p n 1 的数组元素平移到数组的最后 例如 一维数组中的原始内容为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 p的值为3 移动后 一维数组中的内容应为5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 include defineN80voidfun int w intp intn inti j t for i 0 i p i 循环左移p 1次 t w 0 for j 1 j n j 实现循环左移 w j 1 w j w j 1 t 16 2 请编写函数fun 该函数的功能是 移动字符串中的内容 移动的规则是把第1到第m个字符 平移到字符串的最后 把第m 1到最后的字符移到字符串的前部 例如 字符串中原有的内容为ABCDEFGHIJK m的值为3 移动后 字符串中的内容应该是DEFGHIJKABC defineN80voidfun char w intm inti j chart for i 1 i m i 进行m次的循环左移 t w 0 for j 1 w j 0 j 从第2个字符开始以后的每个字符都依次前移一个字符 w j 1 w j w j 1 t 将第1个字符放到最后一个字符中 17 数据的折半查找算法 1 N个有序整数数列已放在一维数组中 给定下列程序中 函数fun 的功能是 利用折半查找算法查找整数m在数组中的位置 若找到 则返回其下标值 反之 则返回 1 折半查找的基本算法是 每次查找前先确定数组中待查的范围 low和high lowhigh 查找结束 题盘33 2 defineN10intfun inta intm intlow 0 high N 1 mid while lowa mid low mid 1 elsereturn mid return 1 18 数据的插入 1 请补充main函数 该函数的功能是 把一个整数插入到一个已经按从小到大排序的数组中 插入后 数组仍然有序 defineN10main inti j intn intbb N 1 12 23 31 44 51 63 71 79 85 95 scanf d 19 字符串前 后 加入n个 号 99 2 下列给定程序中函数fun 的功能是 在字符串的最前端加入n个 号 形成新串 并且覆盖原串 注意 字符串的长度最长允许79 voidfun char s intn chara 80 p inti p s for i 0 i n i a i 首先在数组a中放入n个 注意该循环结束后i的值为ndo a i p i p while p 将原来的串接到后面即可a i 0 strcpy s a 20 字符串的删除操作 1 请编写函数fun 其功能是 将s所指字符串中除了下标为奇数 同时ASCII值为偶数的字符外 其余的全部删除 串中剩余字符所形成的一个新串放在t所指的数组中 一大类题目 解题时只要将符合条件的重新赋值即可 例如 若s所指字符串中的内容为edB2A4Dsdg 其中字符A的ASCII码值为奇数 因此应当删除 其中字符B的ASCII码值为偶数 但在数组中的下标为偶数 因此也应当删除 而字符2的ASCII码值为偶数 所在数组中的下标为奇数 因此不应当删除 其他依此类推 最后t所指的数组中的内容应是d24 voidfun char s chart inti j 0 for i 0 s i 0 i if i 2 0 在字符串最后加上结束标志位 21 2 请补充函数fun 该函数的功能是 只保留字符串中的大写字母 删除其他字符 结果仍保存在原来的字符串中 由全局变量m对删除后字符串的长度进行保存 intm voidfun char s inti 0 j 0 char p s while p i if p i A 22 3 请补充函数fun 该函数的功能是 依次取出字符串中所有的小写字母以形成新的字符串 并取代原字符串 voidfun char s inti 0 char p s while p if p a 23 34 3 假定输入的字符串中只包含字母和 号 请编写函数fun 它的功能是 删除字符串中所有的 号 在编写函数时 不得使用C语言中提供的字符串函数 例如 若字符串中的内容为 A BC DEF G 删除后 字符串中的内容则应当是ABCDEFG voidfun char a inti j 0 for i 0 a i 0 i if a i a j a i 若不是要删除的字符 则留下 a j 0 最后加上字符串结束符 0 24 31 3 假定输入的字符串中只包含字母和 号 请编写函数fun 它的功能是 将字符串中的前导 号全部删除 中间和后面的 号不删除 例如 若字符串中的内容为 A BC DEF G 删除后 字符串中的内容则应当是A BC DEF G voidfun char a intj 0 char p a while p p 指针p指向字符串第一个字母 while p a j p p 从第一个字母开始 其后的字符都放入指针a所指的字符串中 a j 0 在字符串最后加上结束标记符 25 81 3 假定输入的字符串中只包含字母和 号 请编写函数fun 它的功能是 将字符串尾部的 号全部删除 前面和中间的 号不删除 例如 若字符串中的内容为 A BC DEF G 删除后 字符串中的内容则应当是 A BC DEF G voidfun char a char p p a while p p 将指针p后移至串尾p 让其指向最后一个字符while p p 从后向前找第一个不是 的p p 0 在其后面加结束标志即可 26 32 3 假定输入的字符串中只包含字母和 号 请编写函数fun 它的功能是 除了尾部的 号之外 将字符串中其他 号全部删除 形参p已指向字符串中最后一个字母 在编写函数时 不得使用C语言的字符串函数 例如 若字符串中的内容为 A BC DEF G 删除后 字符串中的内容应当是ABCDEFG voidfun char a char p char q a intj 0 while q 0 在字符串最后加上结束标记位 27 83 3 假定输入的字符串中只包含字母和 号 请编写函数fun 它的功能是 只删除字符串前导和尾部的 号 串中字母之间的 号都不删除 形参n给出了字符串的长度 形参h给出了字符串中前导 号的个数 形参e给出了字符串中最后 号的个数 在编写函数时 不得使用C语言提供的字符串函数 例如 若字符串中的内容为 A BC DEF G 删除后 字符串中的内容则应当是A BC DEF G voidfun char a intn inth inte inti j 0 for i h i n e i a j a i 第一个字母和最后一个字母之间的字符全不删除 a j 0 在字符串最后加上结束标记 28 33 3 假定输入的字符串中只包含字母和 号 请编写函数fun 它的功能是 除了串的前导和尾部的 号之外 将字符串中其他 号全部删除 形参r已指向字符串中第一个字母 形参v已经指向串的最后一个字母 在编写函数时 不得使用C语言的字符串函数 voidfun char s char r char v char p inti 0 p s while p r s i p p 复制第一个字母之前的所有 while p v if p s i p p 将中间不是 的字符复制到s中 while p 0 s i p p 将尾部的 复制到s中 s i 0 29 35 3假定输入的字符串中只包含字母和 号 编写函数fun 功能是 使字符串中尾部的 号不得多于m个 若多于m个 则删除多余的 号 若少于或等于m个 则什么也不做 串中间和前面的 号不删除 voidfun char s intm intn i 0 c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论