谭浩强教材习题选

上传人:ji****72 文档编号:36261450 上传时间:2018-03-27 格式:DOC 页数:5 大小:32KB
返回 下载 相关 举报
谭浩强教材习题选_第1页
第1页 / 共5页
谭浩强教材习题选_第2页
第2页 / 共5页
谭浩强教材习题选_第3页
第3页 / 共5页
谭浩强教材习题选_第4页
第4页 / 共5页
谭浩强教材习题选_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《谭浩强教材习题选》由会员分享,可在线阅读,更多相关《谭浩强教材习题选(5页珍藏版)》请在金锄头文库上搜索。

1、1)要将)要将“China”译成密码,密码规律是:用原来的字母后面第译成密码,密码规律是:用原来的字母后面第 4 个字母替原来的字母。个字母替原来的字母。 例如,字母例如,字母“A”后面第后面第 4 个字母是个字母是“E” ,用,用“E”代替代替“A” 。因此,。因此, “China”应译为应译为“Glmre” 。请编一程序,用赋初值的方法使。请编一程序,用赋初值的方法使 c1、c2、c3、c4、c5 五个变量的值分别为五个变量的值分别为 C , h 、 i 、 n 、 a ,经过运算,使分别变为,经过运算,使分别变为G , l , m , r 、 e ,并输出。,并输出。2)给出一百分制成绩

2、,要求输出成绩等级)给出一百分制成绩,要求输出成绩等级A 、 B 、 C 、 D 、 E ,90 分以上为分以上为A,8089 分为分为B ,7079 分为分为B ,6069 分为分为B ,60 分以下为分以下为E3)给出一个不多于)给出一个不多于 5 位的正整数,要求:位的正整数,要求:1、求出它是几位数;、求出它是几位数;2、分别打印出每一位数字;、分别打印出每一位数字; 3、按逆序打印出个位数字,例如原数是、按逆序打印出个位数字,例如原数是 321,应输出,应输出 123。4)输入)输入 4 个整数,要求按由小到大的顺序输出。个整数,要求按由小到大的顺序输出。5)企业发放的奖金根据利润提

3、成。)企业发放的奖金根据利润提成。数组数组 6)用筛选法求)用筛选法求 100 之内的素数之内的素数 7)用选择法对)用选择法对 10 个整数排序个整数排序 8)求一个)求一个 3*3 的整型矩形对角线元素之和的整型矩形对角线元素之和 9)已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中)已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中 10)将一个数组中的值按逆序重新存放。)将一个数组中的值按逆序重新存放。 11)打印魔方阵。行,列,对角线和相等)打印魔方阵。行,列,对角线和相等 12)找出一个二维数组的鞍点,该行最大,该列最小,也可能没有。)

4、找出一个二维数组的鞍点,该行最大,该列最小,也可能没有。 13)有)有 15 个数按由大到小存放,用折半法找出该数是数组中第几个元素的值。个数按由大到小存放,用折半法找出该数是数组中第几个元素的值。 14)电文加密)电文加密 15)字符串连接)字符串连接 16)字符串比较)字符串比较 17)字符串拷贝)字符串拷贝函数函数 18)写两个函数,分别求两个整数的最大公约数和最小公倍数)写两个函数,分别求两个整数的最大公约数和最小公倍数 19)写一个判素数的函数)写一个判素数的函数 20)写一个函数,使一个给定的二维数组行列互换)写一个函数,使一个给定的二维数组行列互换 21)写一个函数,使字符串反序

5、存放,在主函数中输入输出)写一个函数,使字符串反序存放,在主函数中输入输出 22)写一函数,将一个字符串中元音字母复制到另一字符串)写一函数,将一个字符串中元音字母复制到另一字符串 23)写一函数,输入一个)写一函数,输入一个 4 位数字,要求输出位数字,要求输出 4 个数字字符,但要求数字间空一个空格个数字字符,但要求数字间空一个空格 24)编写一个函数,统计参数字符串中字母、数字、空格和其他字符的个数)编写一个函数,统计参数字符串中字母、数字、空格和其他字符的个数 25)写一个函数,输入一行字符,将此字符串最长的单词输出)写一个函数,输入一行字符,将此字符串最长的单词输出 26)写一函数,

6、用起泡法对)写一函数,用起泡法对 10 个字符排序个字符排序 27)输入)输入 10 个学生个学生 5 门课的成绩,分别用函数求:每个学生的平均分,每门课的平均分,门课的成绩,分别用函数求:每个学生的平均分,每门课的平均分, 找出最高分数对应的学生和课程,找出最高分数对应的学生和课程, 28)写几个函数,输入)写几个函数,输入 10 个职工的姓名和职工号,按职工号从大到小的顺序排序,姓名顺个职工的姓名和职工号,按职工号从大到小的顺序排序,姓名顺 序也随着调整;用折半法查找输入的一个职工号,输出该职工姓名。序也随着调整;用折半法查找输入的一个职工号,输出该职工姓名。29)写一函数,输入一个十六进

7、制数,输出相应的十进制数)写一函数,输入一个十六进制数,输出相应的十进制数 30)用递归法将一个整数)用递归法将一个整数 n 转成字符串转成字符串指针指针 31)输入)输入 3 个整数,按由小到大的顺序输出个整数,按由小到大的顺序输出 32)输入)输入 3 个字符串,按由小到大的顺序输出个字符串,按由小到大的顺序输出 33)输入)输入 10 个整数,将其中最小的与第一个数对换,把最大的数和最后一个数对换。写三个整数,将其中最小的与第一个数对换,把最大的数和最后一个数对换。写三 个函数:输入个函数:输入 10 个数,进行处理,输出个数,进行处理,输出 10 个数个数 34)10 章习题 本章习题

8、匀要求用指针方法处理。 101 输入 3 个整数,换由小到大的顺序输出。 102 输入 3 个字符串,按由小到大的顺序输出。 103 输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换, 写 3 个函数:(1)输入 10 个数;(2)进行处理;(3)输入 10 个数. 10.4 有 n 个整数,使前面各数顺序向后移 m 个位置,最后 m 个数变成最前面 m 个数,见图 10.48.写一函数实现以上功能,在主函数中输入 n 个整数和输出调整后的 n 个数. 10.5 有 n 个人围成一圈,顺序排号.从第 1 个人开始报数(从 1 到 3 报数),凡报到 3 的人退出 圈

9、子,问最后留下的是原来第几号的那位. 10.6 写一函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度. 10.7 有一字符串,包含 n 个字符,写一函数,将此字符串从第 m 个字符开始的全部字符复制成 为另一个字符串. 10.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少? 10.9 写一函数,将一个 3*3 的矩阵转、置。 10.10 将一个 5*5 的矩阵中最大的元素放在中心,4 个角分别放最小的元素(顺序从左到右, 从上到下顺序依次从小到大存放) ,写一函数实现之。用 main 函数调用。 10.11 在主函数中输入 10 个等长的字符

10、串。用另一个函数对他们排序。然后在主函数输出 这 10 个以排序的字符串。 10.12 用指针数组处理上一题目,字符串不等长。 10.13 写一个用矩形法求定积分的通用函数,分别求:10sinxdx 1-1coxdx 20exdx(说明:sinx、cosx、exp 以在系统的数学函数库中,程序开头要用#include) 10.14 将 n 个数按输入时顺序排列,用函数实现。 10.15 有一个班长个学生,5 门课。 (1)求第一门课的平均分;(2)找出有 2 门以上课程 不及格的学生,输出他们的学号和全部课程成绩和平均成绩;(3)找出平均成绩在 90 分 以上或全部课程成绩在 85 分以上的学

11、生,分别遍 3 个函数实现以上 3 个要求。 10.16 输入一个字符串,内有数字和非数字字符,如a123x456_17960?302tab5876 将其中连续的数字作为一个整数,依次存放到一数组 a 中。例如,123 放到 a0,456 放 到 a1统计共有多少个整数,并输出这些数。 10.7 写一函数,实现两个字符串的比较。即自己写一个 strcmp 函数,函数原型为int strcmp(char *p1,char *p2); 设 p1 指向字符串 s1,p2 指向字符串 s2。要求当 s1=s2 时,返回值为 0,若 s1!=s2,返回它 们二者第一个不同字符的 ASCII 码差值(如“

12、BOY”与“BAD” ,第二个字母不同, “O”与 “A”之差为 79-65=14) 。如果 S1S2,则输出正值,如 S1S2,则输出负值。 10.18 编一程序,打入月份号,输出该月的英文月名,例如,输入“3” ,则输出“March” , 要求用指针数组处理。 10.19 编写一函数 alloc(n) ,用来在内存区新开辟一个连续的空间(n 个字节) 。此函数 的返回值是一个指针,指向新开辟的连续空间的起始位置。再写一个函数 free(p),将地 址 p 开始的各单元释放(不能再被程序使用,除非再度开辟) 。 提示:先在内存区定出一片相当大的连续空间(例如 1000 个字节) 。然后开辟与

13、释放 都在此空间内进行。假设指针变量 p 原已指向未用空间的开头,调用 alloc(n)后,开辟 了 n 个字节可供程序使用(例如,可以赋值到这些单元中) 。现在需要使 p 的值变成 p+n, 表示空白未用区从 p+n 地址开始,同时要将新开辟区的起始位置(p)作为函数值返回,以 表示可以利用从此点开始的单元。如果要新开辟的区太大(n 大) ,超过了预设的空间- 1000 个字符,则 alloc(n)函数返回指针 NULL,表示开辟失败。 Alloc(n)应返回一个指向字符型数据的指针(因为开辟的区间是以字节为单位被利用 的) 10.20 用指向指针的指针的方法对 5 个字符串排序并输出。 1

14、0.21 用指向指针的指针的方法对 n 个整数排序并输出。要求将排序单独写成一个函数。 5 个整数和 n 在主函数中输入。最后在主函数中输出。11 章习题 11.1 定义一个结构体变量(包括年、月、日) 。计算该日在本年中是第几天?注意闰年问题. 11.2 写一个函数 days,实规上面。由主函数将年,月,日传递给 days 函数,计算后将日 子数传回主函数输出。 11.3 编写一个函数 print,打印一个学生的成绩数组,该数组中有 5 个学生的数据记录, 每个纪录包括 num、name、score3,用主函数输入这些记录,用 print 函数输出这些记录。11.4 再上问题的基础上,编写一

15、个函数 input,用来输入 5 个学生的数据记录。 11.5 有 10 个学生,每个学生的数据包括学号,姓名,3 门课的成绩,从键盘输入 10 个学 生数据,要求打印出 3 门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3 门课成绩、平均分数) 。11.6 编写一个函数 new,对 n 个字符开辟连续的存储空间,此函数应返回一个指针(地址) , 指向字符串开始的空间。New (n)表示分配 n 个字节的内存空间。见图 11.29。p n 11.7 写一函数 free,将上题用 new 函数占的空间释放。Free(p)表示将 p(地址)指向 的单元以后的内存段释放。11.8 已有 a

16、、b 两个链表,每个链表中的节点包括学号、成绩。要求把两个链表合并,按 学号升序排列。11.9 13 个人围成一圈,从第 1 个人开始顺序报号 1、2、3。凡报到 3 者退出圈子。找出最 后留在圈子中的人原来的序号。11.10 有两个链表 a 和 b,设节点中包含学号、姓名。从 a 链表中删去与 b 链表中有相同 学号的那些节点。11.11 建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链 表中的节点所包含的年龄等于此年龄,则将此结点删去。11.12 将一个链表按逆序排序,即将链头当链尾,链尾当链头。13 章习题13.1 对 c 文件操作有些什么特点?什么是缓冲文件系统?什么是非缓冲文件系统

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号