《二级C语言上机(南开100题).pdf》由会员分享,可在线阅读,更多相关《二级C语言上机(南开100题).pdf(202页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试二级C语言上机套题汇编作者:张旭仟目录777A-p77XI/a-pXI/7723123S123将变量各位上为偶数的数去除,剩余的数按原顺序组成新数.1 0用递归法计算n!.1 0将一个数字字符串转换为一个整数.1 10 2 套:.1 2将给定字符串、整数、浮点数写到文本文件中.1 2依次取出字符串中所有数字字符,形成新的字符串.1 2将 M 行 N 列的二维数组中的字符,按列的顺序依次放到一个字符串中.1 30 3 套:.1 4模拟软件第1 0 0 题,B L A N K1.C:重写二进制文件中指定结构体类型的数据.1 4模拟软件第1 0 0 题,M 0 D I1.C:创建带
2、头结点的单向链表,并为各结点数据域赋值.1 5模拟软件第1 0 0 题,PR 0 G 1.C:统计字符串中单词的个数.1 61)从指定文件中读入学生数据(结构体),并按学号从小到大排序.1 72)在字符串的最前端加入n 个*号,形成新串.1 83)统计各年龄段的人数.1 9第 0 5 套:.201)将给定字符串、整数、浮点数写到文本文件,再用字符串方式读入.202)对 N 名学生的学习成绩,按从高到低的顺序找出前m名学生.203)删去一维数组中所有相同的数,使之只剩一个.22第 0 6 套:.231)根据形参i 的值返回某个函数的值.232)比较两个字符串,将长字符串的首地址作为函数值返回.2
3、33)按指定的规则移动字符串中的内容.24第 0 7 套 251)输出结构体中学生的信息.252)求出数组中最大数和次最大数.253)求无符号整数低n-1 位的数.26第 0 8 套:.261)将该学生的各科成绩都乘以一个系数a.262)求 k!,所求阶乘的值作为函数值返回.273)使二维数组左下三角元素中的值乘以n.27777777rrp/!/rrp77123A-身1234123与12将不带头节点的单向链表结点数据域中的数据从小到大排序.28将指定字符串中的字母转换为其后续字母(Z 转换为A,z 转换为a).29把下标从0 到 p的数组元素平移到数组的最后.301 0 套:.30判定N XN
4、 (N 为奇数)的矩阵是否是幻方.30根据整型形参计算公式的值.31编写函数,功能是删除字符串中的所有空格.321 1 套:.32将带头结点的单向链表逆置.32计算s 所指字符串中含有t 所指字符串的数目.33将字符串数组中M 个字符串合并成一个新的字符串.341 2 套:.35将不带头结点的单向链表逆置.35将字符串中位于奇数位置的字符或A S C H 码为偶数的字符放入t所指数组中.36将 M 行 N列的二维数组中的数据按列的顺序依次放到一维数组中.361)将带头节点的单向链表结点数据域中的数据从小到大排序.372)求单向链表结点数据域中的最大值.383)将M行N列的二维数组中的数据按行序
5、放到一维数组中.39第14套:.401)使用函数指针调用函数.402)将单向链表结点数据域为偶数的值累加起来.403)判断字符串是否为回文.41第15套:.421)模拟软件第5套,BLANK1.C:修改指定文件中结构体类型数据.422)模拟软件第5套,M0DI1.C:利用插入排序法对字符串排序.433)模拟软件第5套,PR0G1.C:找出学生的最高分,由函数值返回.43第16套.451)求字符串数组中最长字符串的长度,将其余字符串用字符*补齐.452)将p所指字符串中每个单词的最后一个字母改成大写.453)对字符串除首、尾字符外的字符按ASCH码降序排列.46第17套:.461)模拟软件第10
6、套,BLANK1.C:按学生结构体数组中姓名的字典序排序.462)模拟软件第件套,M ODI 1.C:找由串中ASCH码值最大的字符将其放在第一个位置上.473)模拟软件第10套,PR0G1.C:把指定分数范围内的学生数据放在指定的数组中.48第18套:.491)模拟软件第6套,BLANK1.C:将字符串中字母字符前移,其他字符后移.492)模拟软件第6套,M0DH.C:将字符串中最后一次出现的子串t l替换成t2.503)模拟软件第6套,PR0G1.C:将字符串中ASCII值为奇数的字符删除.50第19套:.511)模拟软件第11套,BLANK1.C:修改形参所指的结构体变量中的数据.512
7、)模拟软件第11套,M0DI1.C:从N个字符串中找出最长的那个串.523)模拟软件第11套,PR0G1.C:将a、b两数合并成一个新数.52第20套:.531)计算数组中N个数的平均值,并将小于平均值的数据移至数组的前部.532)统计字符串中各元音字母(即:A、E、I、0、U)的个数.533)是求出二维数组周边元素之和.54第21套:.551)计算数组中N个数的平均值,将数组中大于平均值的数据移至数组的前部.552)将英文文本中每个单词的第一个字母改成大写.563)求出数组周边元素的平均值.56第22套:.571)将自然数110以及它们的平方根写到文本文件中,再读到屏幕上.572)将n个无序
8、整数从小到大排序.583)将两个两位的正整数合并成一个整数.58第23套:.591)找出NXN矩阵中每列元素中的最大值.592)利用指针变量交换主函数中两个变量的值.593)求小于或等于lim的所有素数.60第24套:.601)模拟软件第8套,BLANK1.C:修改结构体变量中的学生记录.602)模拟软件第8套,M0DI1.C:删除数列中值为x的元素.613)模拟软件第8套,PR0G1.C:把分数最低的学生数据放在b所指的结构体数组中.62第25套:.631)从结构体数组中找出指定编号人员的数据,作为函数值返回.632)从s所指字符串中,找出与t所指字符串相同的子串的个数.643)将字符串中A
9、SCII值为偶数的字符删除.64第26套:.651)模拟软件第3套,BLANK1.C:删除链表中数据域相同的结点.652)模拟软件第3套,M0DI1.C:用选择法对数组排序.663)模拟软件第3套,PR0G1.C:求1到m之间能被7或11整除的所有整数.67第27套:.671)计算下式前n项的和作为函数值返回.672)统计su b str所指子字符串在s t r所指字符串中出现的次数.683)根据公式求 n 的值.68第28套:.691)模拟软件第7套,BLANK1.C:统计字符串中数字字符出现的次数.692)模拟软件笫7套,MODI1.C:通过某种方式实现两个变量值的交换.693)模拟软件第
10、7套,PROG1.C:求1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数70第29套:.701)模拟软件按第13套,BLANK 1.C:修改结构体变量中的数据,并在主函数中输出修改后的数据.702)模拟软件按第13套,M0DI1.C:应用递归算法求形参a的平方根.713)从s所指的结构体数组中找出高于等于平均分的学生数据放在b所指的数组中.71第30套:.721)模拟软件第16套,BLANK1.C:修改结构体变量成员的值.722)模拟软件笫16套,MOD.C:从s所指字符串中删除所有小写字母c.733)模拟软件第16套,PR0G1.C:将字符串中的前导*号全部移到字符串的尾
11、部.74第31套:.741)对下标为奇数的字符按ASCII码递增排序,并将排序后的字符取出.742)利用给出的公式求n的近似值.753)编制函数删除一个字符串中指定下标的字符.75第32套:.761)模拟软件第20套,BLANK1.C:删除字符串数组中所有串长超过k的字符串右边的字符.762)模拟软件第20套,M0DI1.C:根据公式求加值.773)模拟软件第20套,PR0G1.C:删除字符串中多于n的前导*号.77第33套:.781)将指定源文件中的内容复制到指定的目标文件中.782)将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中.793)将两个两位数的正整数a、b合并形成一个
12、整数放在c中.79第34套:.801)用筛选法找出2n之间的所有素数.802)为一个偶数寻找两个素数,这两个素数之和等于该偶数.813)计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和.81第35套:.821)建立NXN的矩阵,要求矩阵最外层元素全为1;第2层为2,第3层为3,.822)将十进制正整数转换成k(2WkW9)进制数,并从高位到低位输出.823)从num个字符串中找出最长的一个字符串传回.83第36套:.841)统计带有头结点的单向链表结点的个数.842)求s所指字符串中最后一次出现t所指子字符串的地址.843)将指定字符串中除下标和ASCII值都为偶数的字符外,全都
13、删除.85第37套:.861)在形参指定字符串数组中,查找含有指定子串的所有字符串并输出.862)求三个数的最小公倍数.863)删除字符串前导和尾部的*号,串中字母之间的*号都不删除.87第38套:.881)删除数组中的偶数,奇数仍按原顺序存放在原数组中.882)求出两个非零正整数的最大公约数,并作为函数值返回.883)删除字符串中所有的*号.89第39套:.891)在形参s s所指字符串数组中,删除所有串长超过k的字符串.892)比较字符串p、q,把ASCII值大或相等的字符依次存放到c所指数组中.903)除前导*号之外,将字符串中其它*号全部删除.90第 4 0 套:.9 11)模拟软件第
14、1 4 套,B L A N K 1.C:在单向链表中插入新结点.9 12)模拟软件第14 套,M 0D I 1.C:计算正整数n u m 各位数字之积.9 23)模拟软件第14 套,P R 0G 1.C:计算数组中n门课程的平均分.9 3第 4 1套:.9 31)计算x 所指数组中N 个数的平均值.9 32)根据整型形参n,计算公式的值.9 43)使数组右上三角元素中的值乘以m.9 4第 4 2套:.9 51)将 s 所指字符串中的所有数字字符移到所有非数字字符之后.9 52)用冒泡法对字符串由小到大进行排序.9 63)求 s s 所指字符串中指定字符的个数.9 6第 4 3 套:.9 71)
15、模拟软件第17 套,B L A N K 1.C:在字符串数组s s 中查找字符串t.9 72)模拟软件第17 套,M O D I 1.C:选出从1 到 5 5 之间能被3 整除、且有一位是5的数.9 73)模拟软件第17 套,P R 0G 1.C:将字符串尾部的*号全部删除.9 8第 4 4 套:.9 81)将形参字符串中的数字字符0转换成9,T 转换成8,2转换成7,,9 转换成0.9 82)将 p 所指字符串中的所有字符复制到b,每复制三个字符之后插入一个空格.9 93)求出链表中N 名学生成绩的平均分.100第 4 5 套:.1011)把数组中的偶数按原顺序存放,奇数删除.1012)按递
16、归公式求函数值.1013)使字符串中尾部的*号不得多于n 个.102第 4 6 套:.1021)利用指针数组字符串数组中的字符串按由长到短的顺序排序.1022)计算并输出数列前n 项的平方根之和.1033)计算级数的和.104第 4 7 套:.1041)模拟软件第15 套,B L A N K 1.C:找出字符串中出现频率最高的字母.1042)模拟软件第15 套,M 0D I 1.C:根据公式求级数之积.1053)模拟软件第15 套,P R 0G 1.C:根据公式计算级数之和.105第 4 8 套:.1061)模拟软件第21套,B L A N K 1.C:求字符串中的数字字符转换成对应数值的累加
17、和.1062)模拟软件第件套,M 0D I 1.C:计算小于k 的最大的10个能被13 或 17 整除的自然数之和.1063)模拟软件第21套,P R 0G P C:求小于n同时能被3 与 7 整除的所有自然数之和的平方根.107第 4 9 套:.1071)模拟软件第9 套,B L A N K 1.C:将字符串中A SC I I 码值小于9 7 的字符存入新串.1072)模拟软件第9 套,M 0D I 1.C:输出n个实数的平均值,并统计平均值以上实数的个数.1083)模拟软件第9 套,P R 0G 1.C:根据以下公式求P的值.108XI/X77zX7771/23S12312d 对 N X
18、N 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下二角元素中,右上三角元素计算函数 F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值.110将字符串中的前导*号全部删除,中间和尾部的*号不删除.1105 1 套:.111计算出字符串中包含的单词个数.111从 n个学生的成绩中统计出低于平均分的学生人数.111求出数组的最大元素在数组中的下标.1125 2 套:.113模拟软件第2 套,B L A N K 1.C:将矩阵元素按列右移.113模拟软件第2 套,M 0D I 1.C:计算并输出级数的前N 项之和.113模拟软件第2 套,P R 0G 1.C:求 F i
19、b on a c c i 数列中大于t 的最小的一个数.1142)的 y 次方的低3 位值115777r rp777AP-/!/勺r j777Ap-XI/!/7r rp!/77勺177X7A-r Jx/!/!/71/123小1|23A vy123123小1|23小1|2312312312计算单向链表中各结点数据域中值之和.116将 s 所指字符串中出现的与t l所指字符串相同的子串全部替换成t 2所指字符串.116将 s 所指字符串中下标为偶数的字符删除.1175 5 套:.118判断形参s 所指字符串是否是 回文”.118求出分数序列的前n 项之和.118将大于形参m 且紧靠m的 k 个素数
20、存入x x 所指的数组中.1195 6 套:.120从键盘输入若干行文本,写到指定文件中,输入T 结束.120从低位开始取出长整型变量s 中奇数位上的数,依次构成一个新数.12 0将两个两位数的正整数a、b合并形成一个整数放在c 中.12 15 7 套:.12 1把数组a中的数按最小、最大、次小、次大的顺序放在a 0 、a l 、a 、a 3 中.12 1用递归算法计算斐波拉契数列中第n项的值.12 2求学生的平均分放在记录的a v e 成员中.12 35 8 套:.12 3把 s 字符串中最右边的n 个字符复制到字符数组中t,形成一个新串.12 3找出一个大于形参m且紧随m的素数.12 4求
21、出能整除x 且不是偶数的整数,并按从小到大的顺序放在数组p p 中.12 45 9 套:.12 5在 3 X 4 的矩阵中找出在行上最大、在列上最小的那个元素.12 5根据整型形参,计算公式的值.12 6将低于平均分的人数作为函数值返回,将低于平均分的分数放在数组b e l o w 中.12 66 0 套:.12 7将结构体数组中的三个元素按n um 成员进行升序排列.12 7将 m (IW m W IO)个字符串连接起来,组成一个新串,放入p t 所指存储区中.12 7使数组左下三角元素中的值全部置成0.12 86 1 套:.12 9将字符串中的大写字母转换成小写字母,小写字母转换成大写字母
22、.12 9给一维数组a 输入任意4 个整数,并按一定规律输出.12 9计算并输出给定整数n的所有因子(不包括1与 n自身)之和.13 06 2 套:.13 0把字符串中下标为奇数的字符右移到下一个奇数位置.13 0根据参数求表达式的值.13 1统计在字符串中 a 到 z 2 6 个小写字母各自出现的次数.13 11)有 N X N 矩阵,根据给定的m (m/7X7X/XI/7123方123胃123计算表达式前n 项的和作为函数值返回.1 56判断一个整数是否是素数,若是返回1,否则返回0.1 56找出一维整型数组元素中最大的值和它所在的下标.1 577 7 套:.1 57模拟软件第4 套,B
23、LA NK 1.C:将 n 各位上为偶的数取出,按从高到低相反的顺序组成新数.1 57模拟软件第4 套,M0 D I 1.C:将长整型数中每一位上为奇数的数取出构成一个新数.1 58模拟软件第4 套,P R 0 G 1.C:实现两个字符串的连接(要求不使用库函数s t r c a t).1 587 8 套:.1 59将 N X N 矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换.1 59利用折半查找算法查找整数m 在数组中的位置.1 59除了尾部的*号之外,将字符串中其它*号全部删除.1 6 01)模拟软件第1 2 套,B LA NK 1.C:求字符串数组中长度最短的字符串的行
24、标.2)模拟软件第1 2 套,M0 D I 1.C:将字符串中的小写字母改为对应的大写字母3)模拟软件第1 2 套,P R 0 G P C:将大于1 小于m的非素数存入数组xx.1 6 11611 6 2将形参n 各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新数.1 6 32)输出M行 M列整数方阵,然后求两条对角线上元素之和.1633)将 a、b 中的两个两位正整数合并形成一个新的整数放在c 中.164第 81 套:.1641)模拟软件第18套,BLANK1.C:在字符串中的数字字符后插入*号.1642)模拟软件第18套,M0DI1.C:根据整型形参m,计算公式的值.1653)模
25、拟软件第件套,PR0G1.C:实现B=A+A,即把矩阵A加上A的转置,存放在矩阵B中.165第 82 套:.1661)找出100 999之间所有整数中各位数字之和为x 的整数.1662)从低位开始取出长整型变量s 中偶数位上的数,依次构成一个新数放在t 中.1673)按分数的高低排列学生的记录,高分在前.167第 83 套:.1681)找出100至 x(xW999)之间各位上的数字之和为15的所有整数.1682)先将字符串s 逆置并存放于t,然后再把原字符串s 连接到t 后面.1683)将 a、b 中的两个两位正整数合并形成一个新的整数放在c 中.169第 84 套:.1691)从三个形参a,
26、b,c 中找出中间的那个数,作为函数值返回.1692)首先将大写字母转换为对应小写字母;若小写字母为a u,则将其转换为其后的第5 个字母;若小写字母为v z,使其值减21.1703)计算并输出.170第 85 套:.1711)调用fun函数建立班级通讯录.1712)先将在字符串s 中的字符按正序存放到t 串中,然后把s 中的字符按逆序连接到t 串的后面.1723)将两个两位数的正整数a、b 合并形成一个整数放在c 中.173第 86 套:.1731)甲乙丙丁四人同时开始放鞭炮,求出总共听到多少次鞭炮声.1732)根据输入的三个边长(整型值),判断能否构成三角形.1743)计算并输出3 到 n
27、 之间(含 3 和 n)所有素数的平方根之和.174第 87 套:.1751)统计长整数n 的各个位上出现数字1、2、3 的次数.1752)统计一个无符号整数中各位数字值为零的个数.1753)计算并输出下列多项式的值.176第 88 套:.1761)把数组a 中的最大值放在a 0中,最小值放在a l中.1762)给组s 中的元素赋予从2 开始的偶数,再按顺序对每五个元素求一个存放在w中.1773)把低于平均分的学生数据放在数组b 中,低于平均分的学生人数,平均分返回.178第 89 套:.1791)求 s s 字符串数组中最长字符串的长度,其余字符串左边用字符*补齐长.1792)计算整数n 的
28、阶乘.1803)从 s 所指的字符串中删除给定的字符.180第 90 套:.1811)统计所有小于等于n(n2)的素数的个数.1812)计算数列前n(4n 50)项的累加和.1813)计算并输出下列多项式的值.182第 91 套:.1821)计算表达式的值.1822)计算n 的 5 次方的值(规定n 的值大于2、小于8).1833)计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和.183第 92 套:.1841)计算表达式的前n 项.1842)找出100至 n(不大于1000)之间三位数字相等的所有整数,放在数组s 中.1853)根据公式计算并输出给定10个数的方差.185第
29、 93 套:.1861)模拟软件第19套,BLANK1.C:删除链表尾部的结点,使链表缩短.1862)模拟软件第19套,MODI1.C:将字符串逆序输出,不改变字符串内容.1873)模拟软件笫1 9 套,P R 0 G 1.C:比较两个字符串的长度(不得调用C函数).1 8 7笫 9 4 套:.1 8 81)*计算数列的前n 项之和.1 8 82)从 3 个红球,5 个白球,6 个黑球中任意取出8 个作为一组,进行输出.1 8 83)计算并输出下列多项式的值.1 8 9第 9 5 套:.1 9 01)计算N X N 矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回.1 9 02)根据参
30、数求表达式的值.1 9 03)除了字符串前导和尾部的*号之外,符串中其它*号全部删除.1 9 1笫 9 6 套:.1 9 21)有 N X N 矩阵,将矩阵的外围元素顺时针旋转.1 9 22)计算 S=f (-n)+f (-n+1)+-+f (0)+f(l)+f (2)+-+f (n)的值.1 9 23)计算表达式的值.1 9 3第 9 7 套:.1 9 31)逆置数组元素中的值.1 9 32)将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数.1 9 43)函数返回指定学号的学生数据,指定的学号在主函数中输入.1 9 5笫 9 8 套:.1 9 61)在带有头结点的单向链表中,
31、查找数据域中值为c h 的结点.1 9 62)删除p 所指字符串中的所有空白字符(包括制表符、回车符及换行符).1 9 73)将字符串中所有下标为奇数位置上的字母转换为大写(不是字母则不转换).1 9 7第 9 9 套:.1 9 81)将数组中的前半部分元素中的值和后半部分元素中的值对换.1 9 82)把主函数中输入的3 个数,最大的放在a中,最小的放在c中,中间的放在b中.1 9 83)把分数最高的学生数据放在b 所指的数组中(分数最高的学生可能不止一个).1 9 9第 1 0 0 套:.2 0 01)在字符串中寻找与参数c 相同的字符,并在其后插入一个与之相同的字符.2 0 02)计算数组
32、元素中值为正数的平均值(不包括0).2 0 03)根据以下公式计算s,计算结果作为函数值返回.2 0 1第01套:1)将变量各位上为偶数的数去除,剩余的数按原顺序组成新数给定程序中,函 数f u n的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K 1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:f ti nc lud e voi
33、d f un(unsi g ne d long *n)unsi g ne d long x=0,i;i nt t;i=l;wh i le(*n)/*f ound*/t=*n%_1 _;/*f ound*/i f(t%2!=_ 2 _)x=x+t*i;i=i*1 0;*n=*n/1 0;)/*f ound*/*n=_ 3_;)ma i n()unsi g ne d long n=-l;wh i le(n 99999999|n 0)pri ntf C P le a sei nput(0 n 1 0 0 0 0 0 0 0 0):/,);sc a nf(%ld,&n);)f un(&n);pri n
34、tf (,znT h e re sult i s:%ld n,n);)解题思路:第 处:t是通过取模的方式来得到*n的个位数字,所以应填:1 0。第二处:判断是否是奇数,所以应填:0 o第三处:最后通形参n来返回新数x,所以应填:X。2)用递归法计算n!给定程序M 0 D I 1.C中 函 数fu n的功能是:计算n!。例如,给n输入5,则输出1 20.0 0 0 0 0 0。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动m a i n函数,不得增行或删行,也不得更改程序的结构!给定源程序:#i nc lud e d oub le f un(i nt n)d oub le re s
35、ult=1.0;/*f oti nd*/i f n=0re turn 1.0;wh i le(n l&n 1 70)/*f ound*/re sult*=nre turn re sult;)ma i n()i nt n;pri ntf(I nput N:);sc a nf(z/%dz/,&n);pri ntf (,znn%d!=%lf nnz,,n,f un(n)解题思路:第一处:条件语句书写格式错误,应改为:i f (n=0)o第二处:语句re sult*二n一 后缺少分号。3)将一个数字字符串转换为一个整数请编写一个函数f un,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提
36、供的将字符串转换为整数的函数)。例如,若输入字符串T 2 3 4,则函数把它转换为整数值-1 23 4 o函 数fu n中给出的语句仅供参考。注意:部分源程序存在文件P R 0 G 1.C文件中。请勿改动主函数ma i n和其它函数中的任何内容,仅在函数f u n的花括号中填入你编写的若干语句。给定源程序:#i nc lud e#i nc lud e long f un(c h a r*p)n=f un(s);pri ntf (%ld n,n);N O N O();/*以下代码仅供参考*/i nt i,le n,t;Al en为串长,t为正负标识*/long x=0;le n=strle n(
37、p);i f(p 0 =-)N O N O ()/*本函数用于打开文件,输入数据,调用函t=-l;le n-;p+;e lse t=l;/*以下完成数字字符串转换为一个数字*/数,输出数据,关闭文件。*/F I L E *f p,*wf ;i nt i ;c h a r s 20;long n;f p=f ope n(,zc:te sti n.d a t,r);wf=f ope n(,zc:te stout.d a t,w);f or(i=0;i 1 0;i+)re turn x*t;ma i n()c h a r/*主 函 数*/s6;f sc a nf(f p,s,s);n=f un(s)
38、;f pri ntf(wf,%ld n,n);long n;pri ntf (E nte r a stri ng:n,z)g e ts(s);f c lose(f p);f c lose(wf);解题思路:本题是将一个数字字符串转换为一个整数。参考答案:long f un(c h a r*p)/*以下代码仅供参考*/i nt i,le n,t;/*le n为串长,t为正负标识*/long x=O;le n=strle n(p);i f (p0=,)t=-l;le n;p+;e lse t=l;/*以下完成数字字符串转换为一个数字*/wh i le(*p)x=x*1 0-48+*(p+);re
39、turnx*t;)注意:由于N O N O()这个函数是改卷人用的,与考生没有什么关系。为减少不必要的篇幅,从下面第2套试题始一律省略N O N O()函数。第 02套:1)将给定字符串、整数、浮点数写到文本文件中给定程序中,函 数f u n的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K 1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#i nc l u d e v oi d f u n(c h a
40、r*s,i nt a,d ou b l e f)/*f ou nd*/_ _ 1 _ f p;c h a r c h;f p=f ope n(zf i l e l.t x t,w);f pri nt f (f p,%s%d%f n,s,a,f);f c l ose(f p);f p=f ope n(f i l e l.t x t,r);pri nt f (/z nT h e re su l t:n n/z);c h=f g e t c(f p);/*f ou nd*/w h i l e(!f e of(2 )/*f ou nd*/pu t c h a r(3);c h=f g e t c(f
41、p);)pu t c h a r(n);f c l ose(f p);)m a i n()c h a r a 1 0 =H e l l o!;i nt b=1 2 3 4 5;d ou b l e c=9 8.7 6;f u n(a,b,c);)解题思路:本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。第一处:定义文本文件类型变量,所以应填:F I L E *。第二处:判断文件是否结束,所以应填:f p。第三处:显示读出的字符,所以应填:c h。2)依次取出字符串中所有数字字符,形成新的字符串给定程序M 0 D H.C中函数f u n的功能是:依次取出字符串中所有数字字
42、符,形成新的字符串,并取代原字符串。请改正函数f u n中指定部位的错误,使它能得出正确的结果。注意:不要改动m a i n函数,不得增行或删行,也不得更改程序的结构!给定源程序:#i nc l u d e v oi d f u n(c h a r*s)i nt i,j ;f or(i=0,j=O;s i !=0*;i+)i f (s i =,O 9 )/*f ou nd*/s j =s i ;/*f ou nd*/s j =O ;)m a i n()c h a r i t e m 8 0 ;pri nt f (z,nE nt e r a st ri ng :);g e t s(i t e m
43、);pri nt f (n nT h e st ri ng i s:%s n,i t e m);f u n(i t e m);pri nt f (z/n nT h e st ri ng of c h a ng i ng i s:%s n,i t e m );)解题思路:第一处:要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j来控制新字符串的位置,所以应改为:s j+=s i ;0第二处:置新字符串的结束符,所以应改为:s j =0 ;3)将 M行N列的二维数组中的字符,按列的顺序依次放到一个字符串中请编写函数f u n,函数的功能是:将M行N列的二维数组中的字符数据,按列
44、的顺序依次放到一个字符串中。例 如,二维数组中的数据为:W W W WS S S SH H H H则字符串中的内容应是:W S I I W S H W S H o注意:部分源程序在文件P R 0 G 1.C中。请勿改动主函数m a i n和其它函数中的任何内容,仅在函数f u n的花括号中填入你编写的若干语句。给定源程序:#i nc l u d e#d e f i ne M 3#d e f i ne N 4v oi d f u n(c h a r s N ,c h a r*b)i nt i,j,n=0;/*请填写相应语句完成其功能*/f or(i=0;i N;i+)S ,S ,S ,S ,i
45、nt i,j;pri nt f (T h e m a t ri x :n,z);f or(i=0;i M;i+)f or(j=0;j N;j+)p r i n t f j );pri nt f (n);b n=0 ;f u n(w,a);pri nt f (,zT h e A st ri ng:n,z);)m a i n()c h a r a 1 0 0 ,w M N =pu t s(a);pri nt f C n nz/);/N 0 N 0();解题思路:本题是把二维数组中的字符数据按列存放到一个字符串中。1 .计算存放到一一维数组中的位置。2.取出二维数组中的字符存放到一维数组(已计算出的
46、位置)中。参考答案:v o i d f u n(c h a r s N ,c h a r *b)i n t i,j,n=0;/*请填写相应语句完成其功能*/f o r(i=0;i N;i+)(f o r(j =0;j M ;j+)b n+=s j i ;)b n -0);第 03套:1)模拟软件第1 0 0 题,B LA NK1.C:重写二进制文件中指定结构体类型的数据程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。所有学生数据均以二进制方式输出到文件中。函 数 f u n 的功能是重写形参f i l e n a me 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学
47、生原来的数据,其它学生的数据不变。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL A N K 1.C 不得增行或删行,也不得更改程序的结构!给定源程序:#i n c l u d e#d e f i n e N 5t y p e d e f s t r u c t s t u d e n t l o n g s n o;c h a r n a me 10;f l o a t s c o r e 3;S T U;v o i d f u n(c h a r *f i l e n a me,S T U n)FI L E*f p;/*f o u
48、 n d*/f p=f o p e n(_ 1_,:r b+);/*o u n d*/f s e e k(_ 2_,T L*s i z e o f (S T U),S EEK _ EN D);/*f o u n d*/f w r i t e(&n,s i z e o f(S T U),1,_3_);f c l o s e(f p);)ma i n ()S T U t N =10001,M a Ch a o,9 1,9 2,7 7),10002,Ca o K a i,7 5,6 0,8 8,10003,L i S i,8 5,7 0,7 8,10004,Fa n g Fa n g ,9 0,8
49、2,8 7,10005,Z h a n g S a n,9 5,8 0,8 8 ;S T U n=10006,Z h a o S i ,55,7 0,6 8,s s N ;i n t i,j;FI L E*f p;f p=f o p e n(s t u d e n t.d a t ,w b);f w r i t e(t,s i z e o f (S T U),N,f p);f c l o s e(f p);f p=f o p e n(s t u d e n t.d a t ,r b);f r e a d(s s,s i z e o f (S T U),N,f p);f c l o s e(f
50、p);p r i n t f (/z n T h e o r i g i n a l d a t a :n n );f o r(j=0;j N;j+)p r i n t f(z,n N o:%l d N a me:%-8 s S c o r e s/,s s j .s n o,s s j .n a me);f o r(i=0;i 3;i+)p r i n t f(%6.2f ,s s j .s c o r e i );p r i n t f(n);)f u n(s t u d e n t.d a t ,n);p r i n t f (z/n T h e d a t a a f t e r mo