练习题4
有个学生主动要一堆练习题。
1. Programming in C is fun!
本题要求编写程序,输出一个短句“Programming in C is fun!”。
输入格式:
本题目没有输入。
输出格式:
在一行中输出短句“Programming in C is fun!”。
2. 输出倒三角图案
本题要求编写程序,输出指定的由“*”组成的倒三角图案。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出由“*”组成的倒三角图案。
3. 温度转换
本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:
$$C = 5\times (F-32)/9$$,式中:
$$C$$表示摄氏温度,
$$F$$表示华氏温度,输出数据要求为整型。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出
4. 计算物体自由下落的距离
一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒
$$^2$$。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出
结果保留2位小数。
5. 计算摄氏温度
给定一个华氏温度
$$F$$,本题要求编写程序,计算对应的摄氏温度
$$C$$。计算公式:
$$C = 5\times (F-32)/9$$。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出一个华氏温度。
输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。
输入样例:
输出样例:
6. 整数四则运算
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
输入样例:
输出样例:
7. 计算分段函数[1]
本题目要求计算下列分段函数
$$f(x)$$的值:
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
8. 计算分段函数[2]
本题目要求计算下列分段函数
$$f(x)$$的值:
注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
9. 输出华氏-摄氏温度转换表
输入2个正整数lower和upper(lower
upper
100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。
温度转换的计算公式:
$$C = 5 \times (F - 32) / 9$$,其中:
$$C$$表示摄氏温度,
$$F$$表示华氏温度。
输入格式:
在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。
输出格式:
第一行输出:“fahr celsius”
接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。
若输入的范围不合法,则输出"Invalid."。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
10. 求N分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
11. 求奇数分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
12. 求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
13. 生成3的乘方表
输入一个非负整数
$$n$$,生成一张3的乘方表,输出
$$3^0$$~
$$3^n$$的值。可调用幂函数计算3的乘方。
输入格式:
输入在一行中给出一个非负整数
$$n$$。
输出格式:
按照幂的递增顺序输出
$$n+1$$行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。
输入样例:
输出样例:
14. 求组合数
本题要求编写程序,根据公式 $C^{m}_{n} = \frac{n!}{m!(n-m)!}$ 算出从 $n$个不同元素中取出 $m$个元素($m\le n$ )的组合数。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
输入格式:
输入在一行中给出两个正整数m和n($m\le n$ ),以空格分隔。
输出格式:
按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。
输入样例:
输出样例:
15. 求整数均值
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
输出样例:
16. 阶梯电价
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。
输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
17. 求平方与倒数序列的部分和
本题要求对两个正整数
$$m$$和
$$n$$(
$$m \le n$$)编写程序,计算序列和
$$m^2 + 1/m + (m+1)^2 + 1/(m+1) + \cdots + n^2 + 1/n$$。
输入格式:
输入在一行中给出两个正整数
$$m$$和
$$n$$(
$$m \le n$$),其间以空格分开。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
18. 求交错序列前N项和
本题要求编写程序,计算交错序列 $ 1-2/3+3/5-4/7+5/9-6/11 $ 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
输出样例:
19. 求平方根序列前N项和
本题要求编写程序,计算平方根序列
$$\sqrt{1} + \sqrt{2} + \sqrt{3} + \cdots$$的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
20. 求阶乘序列前N项和
本题要求编写程序,计算序列
$$1! + 2! + 3! + \cdots$$的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
输出样例:
21. 计算符号函数的值
对于任一整数
$$n$$,符号函数
$$sign(n)$$的定义如下:
请编写程序计算该函数对任一输入整数的值。
输入格式:
输入在一行中给出整数n。
输出格式:
在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
输入样例3:
输出样例3:
22. 统计学生平均成绩与及格人数
本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
输入格式:
输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。
输出格式:
按照以下格式输出:
其中平均值精确到小数点后一位。
输入样例:
输出样例:
23. 统计字符
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
的格式输出。
输入样例:
输出样例:
24. 成绩转换
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入格式:
输入在一行中给出一个整数的百分制成绩。
输出格式:
在一行中输出对应的五分制成绩。
输入样例:
输出样例:
25. 查询水果价格
给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。
首先在屏幕上显示以下菜单:
用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。
输入格式:
输入在一行中给出用户连续输入的若干个编号。
输出格式:
首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
26. 输出闰年
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
27. 比较大小
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
输出样例:
28. 高速公路超速处罚
按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
输入样例3:
输出样例3:
29. 出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
输入样例3:
输出样例3:
30. 统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入格式:
输入在第一行中给出一个正整数N(
$$\le$$1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例:
输出样例:
31. 三角形判断
给定平面上任意三个点的坐标
$$(x_1, y_1)$$、
$$(x_2, y_2)$$、
$$(x_3, y_3)$$,检验它们能否构成三角形。
输入格式:
输入在一行中顺序给出六个
$$[-100, 100]$$范围内的数字,即三个点的坐标
$$x_1$$、
$$y_1$$、
$$x_2$$、
$$y_2$$、
$$x_3$$、
$$y_3$$。
输出格式:
若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
32. 求给定精度的简单交错序列部分和
本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + … 直到最后一项的绝对值不大于给定精度eps。
输入格式:
输入在一行中给出一个正实数eps。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
33. 猜数字游戏
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(
$$>$$3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
输入格式:
输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。
输出格式:
在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。
输入样例:
输出样例:
34. 求e的近似值
自然常数
$$e$$可以用级数
$$1+1/1!+1/2!+\cdots +1/n! +\cdots$$来近似计算。本题要求对给定的非负整数
$$n$$,求该级数的前
$$n+1$$项和。
输入格式:
输入第一行中给出非负整数
$$n$$(
$$\le 1000$$)。
输出格式:
在一行中输出部分和的值,保留小数点后八位。
输入样例:
输出样例:
35. 找出最小值
本题要求编写程序,找出给定一系列整数中的最小值。
输入格式:
输入在一行中首先给出一个正整数
$$n$$,之后是
$$n$$个整数,其间以空格分隔。
输出格式:
在一行中按照“min = 最小值”的格式输出
$$n$$个整数中的最小值。
输入样例:
输出样例:
36. 统计素数并求和
本题要求统计给定整数
$$M$$和
$$N$$区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数
$$M$$和
$$N$$(
$$1\le M\le N\le 500$$)。
输出格式:
在一行中顺序输出
$$M$$和
$$N$$区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
输出样例:
37. 求奇数和
本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
输出样例:
38. 求幂级数展开的部分和
已知函数
$$e^x$$可以展开为幂级数
$$1+x+x^2 /2! + x^3 /3! + \cdots + x^k /k! + \cdots$$。现给定一个实数
$$x$$,要求利用此幂级数部分和求
$$e^x$$的近似值,求和一直继续到最后一项的绝对值小于0.00001。
输入格式:
输入在一行中给出一个实数
$$x\in [0, 5]$$。
输出格式:
在一行中输出满足条件的幂级数部分和,保留小数点后四位。
输入样例:
输出样例:
39. 求分数序列前N项和
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
40. 特殊a串数列求和
给定两个均不超过9的正整数
$$a$$和
$$n$$,要求编写程序求
$$a+aa+aaa++\cdots +aa\cdots a$$(
$$n$$个
$$a$$)之和。
输入格式:
输入在一行中给出不超过9的正整数
$$a$$和
$$n$$。
输出格式:
在一行中按照“s = 对应的和”的格式输出。
输入样例:
输出样例:
41. 换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入格式:
输入在一行中给出待换的零钱数额
$$x\in (8, 100)$$。
输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例:
输出样例:
42. 水仙花数
水仙花数是指一个
$$N$$位正整数(
$$N\ge 3$$),它的每个位上的数字的
$$N$$次幂之和等于它本身。例如:
$$153 = 1^3 + 5^3+ 3^3$$。 本题要求编写程序,计算所有
$$N$$位水仙花数。
输入格式:
输入在一行中给出一个正整数
$$N$$(
$$3\le N\le 7$$)。
输出格式:
按递增顺序输出所有
$$N$$位水仙花数,每个数字占一行。
输入样例:
输出样例:
43. 最大公约数和最小公倍数
本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(
$$\le 1000$$)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
输入样例:
输出样例:
鸣谢安阳师范学院段晓云老师和软件工程五班李富龙同学补充测试数据!
44. 高空坠球
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第
$$n$$次落地时,在空中一共经过多少距离?第
$$n$$次反弹的高度是多少?
输入格式:
输入在一行中给出两个非负整数,分别是皮球的初始高度和
$$n$$,均在长整型范围内。
输出格式:
在一行中顺序输出皮球第
$$n$$次落地时在空中经过的距离、以及第
$$n$$次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。
注意:$n$为 0 时表示球未开始下落。
输入样例:
输出样例:
鸣谢中山职业技术学院邱维阳老师完善题面。
45. 打印菱形图案
本题要求编写程序,打印一个高度为
$$n$$的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数
$$n$$。
输出格式:
输出由
$$n$$行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
输出样例:
46. 猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第
$$N$$天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数
$$N$$(
$$1输出格式:
在一行中输出第一天共摘了多少个桃子。
输入样例:
输出样例:
47. 兔子繁衍问题
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到
$$N$$对?
输入格式:
输入在一行中给出一个不超过10000的正整数
$$N$$。
输出格式:
在一行中输出兔子总数达到
$$N$$最少需要的月数。
输入样例:
输出样例:
48. 求m到n之和
本题要求实现一个计算
$$m$$~
$$n$$(
$$m函数接口定义:
其中m和n是用户传入的参数,保证有
~
$$n$$之间所有整数的和。
裁判测试程序样例:
输入样例:
输出样例:
49. 找两个数中最大者
本题要求对两个整数a和b,输出其中较大的数。
函数接口定义:
其中a和b是用户传入的参数,函数返回的是两者中较大的数。
裁判测试程序样例:
输入样例:
输出样例:
50. 数字金字塔
本题要求实现函数输出n行数字金字塔。
函数接口定义:
其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注
意每个数字后面跟一个空格。
裁判测试程序样例:
输入样例:
输出样例:
51. 符号函数
本题要求实现符号函数sign(x)。
函数接口定义:
其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) =
;若x等于0,sign(x) =
;否则,sign(x) =
。
裁判测试程序样例:
输入样例:
输出样例:
52. 使用函数求奇数和
本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。
函数接口定义:
其中函数even将根据用户传入的参数n的奇偶性返回相应值:当n为偶数时返回1,否则返回0。函数OddSum负责计算并返回传入的N个整数List[]中所有奇数的和。
裁判测试程序样例:
输入样例:
输出样例:
53. 使用函数计算两点间的距离
本题要求实现一个函数,对给定平面任意两点坐标
$$(x_1, y_1)$$和
$$(x_2, y_2)$$,求这两点之间的距离。
函数接口定义:
其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2),函数dist应返回两点间的距离。
裁判测试程序样例:
输入样例:
输出样例:
54. 使用函数求素数和
本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。
素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
函数接口定义:
其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数m
n。
裁判测试程序样例:
输入样例:
输出样例:
55. 使用函数统计指定数字的个数
本题要求实现一个统计整数中指定数字的个数的简单函数。
函数接口定义:
其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。
裁判测试程序样例:
输入样例:
输出样例:
56. 使用函数输出水仙花数
水仙花数是指一个
$$N$$位正整数(
$$N\ge 3$$),它的每个位上的数字的
$$N$$次幂之和等于它本身。例如:
$$153 = 1^3 + 5^3+ 3^3$$。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间
$$(m,n)$$内所有的水仙花数。
函数接口定义:
函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。
函数PrintN则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100
m
n
10000。
裁判测试程序样例:
输入样例:
输出样例:
57. 使用函数求余弦函数的近似值
本题要求实现一个函数,用下列公式求
$$\cos (x)$$的近似值,精确到最后一项的绝对值小于
$$e$$:
$$\cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + \cdots$$函数接口定义:
其中用户传入的参数为误差上限e和自变量x;函数funcos应返回用给定公式计算出来、并且满足误差要求的
的近似值。输入输出均在双精度范围内。
裁判测试程序样例:
输入样例:
输出样例:
58. 分类统计字符个数
本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。
函数接口定义:
其中 char s[] 是用户传入的字符串。函数StringCount须在一行内按照
的格式输出。
裁判测试程序样例:
输入样例:
输出样例:
59. 使用函数求特殊a串数列和
给定两个均不超过9的正整数
$$a$$和
$$n$$,要求编写函数求
$$a+aa+aaa++\cdots +aa\cdots a$$(
$$n$$个
$$a$$)之和。
函数接口定义:
其中函数fn须返回的是n个a组成的数字;SumA返回要求的和。
裁判测试程序样例:
输入样例:
输出样例:
60. 使用函数输出指定范围内的完数
本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数
$$m$$和
$$n$$(
$$0函数接口定义:
其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[m, n]内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + … + 因子k”,其中完数和因子均按递增顺序给出。如果给定区间内没有完数,则输出一行“No perfect number”。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
鸣谢杭州电子科技大学网络空间安全学院李丰同学修正数据!
61. 使用函数输出指定范围内的Fibonacci数
本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数
$$m$$和
$$n$$(
$$0函数接口定义:
其中函数fib须返回第n项Fibonacci数;函数PrintFN要在一行中输出给定范围[m, n]内的所有Fibonacci数,相邻数字间有一个空格,行末不得有多余空格。如果给定区间内没有Fibonacci数,则输出一行“No Fibonacci number”。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
62. 使用函数验证哥德巴赫猜想
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
函数接口定义:
其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=
”输出n的素数分解,其中
均为素数。又因为这样的分解不唯一(例如24可以分解为5+19,还可以分解为7+17),要求必须输出所有解中
$$p$$最小的解。
裁判测试程序样例:
输入样例:
输出样例:
63. 使用函数输出一个整数的逆序数
本题要求实现一个求整数的逆序数的简单函数。
函数接口定义:
其中函数reverse须返回用户传入的整型number的逆序数。
裁判测试程序样例:
输入样例:
输出样例:
64. 简单计算器
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
输出格式:
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。
输入样例:
输出样例:
65. 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
输出样例:
鸣谢用户 张麦麦 补充数据!
66. 求最大值及其下标
本题要求编写程序,找出给定的
$$n$$个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数
$$n$$(
$$1个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
输出样例:
67. 将数组中的数逆序存放
本题要求编写程序,将给定的
$$n$$个整数存入数组中,将数组中的这
$$n$$个数逆序存放,再按顺序输出数组中的元素。
输入格式:
输入在第一行中给出一个正整数
$$n$$(
$$1\le n\le 10$$)。第二行输入
$$n$$个整数,用空格分开。
输出格式:
在一行中输出这
$$n$$个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
输出样例:
68. 找出不是两个数组共有的元素
给定两个整型数组,本题要求找出不是两者共有的元素。
输入格式:
输入分别在两行中给出两个整型数组,每行先给出正整数
$$N$$(
$$\le 20$$),随后是
$$N$$个整数,其间以空格分隔。
输出格式:
在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。
输入样例:
输出样例:
69. 矩阵运算
给定一个
$$n\times n$$的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
输入格式:
输入第一行给出正整数
$$n$$(
$$1行,每行给出
$$n$$个整数,其间以空格分隔。
输出格式:
在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
输入样例:
输出样例:
70. 方阵循环右移
本题要求编写程序,将给定
$$n\times n$$方阵中的每个元素循环向右移
$$m$$个位置,即将第
$$0$$、
$$1$$、
$$\cdots$$、
$$n-1$$列变换为第
$$n-m$$、
$$n-m+1$$、
$$\cdots$$、
$$n-1$$、
$$0$$、
$$1$$、
$$\cdots$$、
$$n-m-1$$列。
输入格式:
输入第一行给出两个正整数
$$m$$和
$$n$$(
$$1\le n\le 6$$)。接下来一共
$$n$$行,每行
$$n$$个整数,表示一个
$$n$$阶的方阵。
输出格式:
按照输入格式输出移动后的方阵:即输出
$$n$$行,每行
$$n$$个整数,每个整数后输出一个空格。
输入样例:
输出样例:
71. 计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
鸣谢湖北汽车工业学院袁科老师、用户潘明智补充数据!
72. 查找指定字符
本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
73. 字符串逆序
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
在一行中输出逆序后的字符串。
输入样例:
输出样例:
74. 选择法排序
本题要求将给定的
$$n$$个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数
$$n$$。第二行给出
$$n$$个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
输出样例:
75. 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。
输入格式:
输入在第1行中给出正整数
$$N$$(
$$\le 1000$$),在第二行中给出
$$N$$个不超过整型范围的非负整数,数字间以空格分隔。
输出格式:
在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。
输入样例:
输出样例:
76. 判断上三角矩阵
上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
本题要求编写程序,判断一个给定的方阵是否上三角矩阵。
输入格式:
输入第一行给出一个正整数
$$T$$,为待测矩阵的个数。接下来给出
$$T$$个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数
$$n$$。随后
$$n$$行,每行给出
$$n$$个整数,其间以空格分隔。
输出格式:
每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。
输入样例:
输出样例:
鸣谢中水七局机电安装分局喻春桥补充数据!
77. 求矩阵各行元素之和
本题要求编写程序,求一个给定的
$$m\times n$$矩阵各行元素之和。
输入格式:
输入第一行给出两个正整数
$$m$$和
$$n$$(
$$1\le m,n\le 6$$)。随后
$$m$$行,每行给出
$$n$$个整数,其间
以空格分隔。
输出格式:
每行输出对应矩阵行元素之和。
输入样例:
输出样例:
78. 找鞍点
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的
$$n$$阶方阵的鞍点。
输入格式:
输入第一行给出一个正整数
$$n$$(
$$1\le n\le 6$$)。随后
$$n$$行,每行给出
$$n$$个整数,其间以空格分隔。
输出格式:
输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
79. 统计大写辅音字母
英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。
输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
输出格式:
输出在一行中给出字符串中大写辅音字母的个数。
输入样例:
输出样例:
80. 字符串替换
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
| 原字母 | 对应字母 |
|---|---|
| A | Z |
| B | Y |
| C | X |
| D | W |
| … | … |
| X | C |
| Y | B |
| Z | A |
输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
输出格式:
输出在一行中给出替换完成后的字符串。
输入样例:
输出样例:
81. 字符串转换成十进制整数
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。
输入格式:
输入在一行中给出一个以#结束的非空字符串。
输出格式:
在一行中输出转换后的十进制数。题目保证输出在长整型范围内。
输入样例:
输出样例:
82. 计算两数的和与差
本题要求实现一个计算输入的两数的和与差的简单函数。
函数接口定义:
其中op1和op2是输入的两个实数,*psum和*pdiff是计算得出的和与差。
裁判测试程序样例:
输入样例:
输出样例:
83. 移动字母
本题要求编写函数,将输入字符串的前3个字符移到最后。
函数接口定义:
其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数Shift须将按照要求变换后的字符串仍然存在s[]里。
裁判测试程序样例:
输入样例:
输出样例:
84. 拆分实数的整数与小数部分
本题要求实现一个拆分实数的整数与小数部分的简单函数。
函数接口定义:
其中x是被拆分的实数(0
x
10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。
裁判测试程序样例:
输入样例:
输出样例:
85. 在数组中查找指定元素
本题要求实现一个在数组中查找指定元素的简单函数。
函数接口定义:
其中list[]是用户传入的数组;n(
)是list[]中元素的个数;x是待查找的元素。如果找到
则函数search返回相应元素的最小下标(下标从0开始),否则返回
。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
86. 数组循环右移
本题要求实现一个对数组进行循环右移的简单函数:一个数组
$$a$$中存有
$$n$$(
$$>0$$)个整数,将每个整数循环向右移
$$m$$(
$$\ge 0$$)个位置,即将
$$a$$中的数据由(
$$a_0 a_1 \cdots a_{n-1}$$)变换为(
$$a_{n-m} \cdots a_{n-1} a_0 a_1 \cdots a_{n-m-1}$$)(最后
$$m$$个数循环移至最前面的
$$m$$个位置)。
函数接口定义:
其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组仍然存在a[]中。
裁判测试程序样例:
输入样例:
输出样例:
87. 报数
报数游戏是这样的:有
$$n$$个人围成一圈,按顺序从1到
$$n$$编好号。从第一个人开始报数,报到
$$m$$(
$$的人退出圈子。如此下去,直到留下最后一个人。
本题要求编写函数,给出每个人的退出顺序编号。
函数接口定义:
其中n是初始人数;m是游戏规定的退出位次(保证为小于
的正整数)。函数CountOff将每个人的退出顺序编号存在数组out[]中。因为C语言数组下标是从0开始的,所以第i个位置上的人是第out[i-1]个退出的。
裁判测试程序样例:
输入样例:
输出样例:
88. 使用函数实现字符串部分复制
本题要求编写函数,将输入字符串
$$t$$中从第
$$m$$个字符开始的全部字符复制到字符串
$$s$$中。
函数接口定义:
函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。
裁判测试程序样例:
输入样例:
输出样例:
89. 删除字符
本题要求实现一个删除字符串中的指定字符的简单函数。
函数接口定义:
其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。
裁判测试程序样例:
输入样例:
输出样例:
90. 字符串排序
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
输出格式:
按照以下格式输出排序后的结果:
输入样例:
输出样例:
鸣谢贵州民族大学张玉全老师修正数据!
91. 输出学生成绩
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。
输入格式:
输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。
输出格式:
按照以下格式输出:
结果均保留两位小数。
输入样例:
输出样例:
92. 判断回文字符串
本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。
函数接口定义:
函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
93. 分类统计各类字符个数
本题要求实现一个函数,统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符各有多少。
函数接口定义:
其中 char *s 是用户传入的字符串。函数StringCount须在一行内按照
的格式输出。
裁判测试程序样例:
输入样例:
输出样例:
94. 时间换算
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(
60)。
输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。
输入样例:
输出样例:
95. 平面向量加法
本题要求编写程序,计算两个二维平面向量的和向量。
输入格式:
输入在一行中按照“
$$x_1$$$$y_1$$
$$x_2$$
$$y_2$$
”的格式给出两个二维平面向量
$$v_1=(x_1, y_1)$$和
$$v_2=(x_2, y_2)$$的分量。
输出格式:
在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出
)。
输入样例:
输出样例:
96. 查找书籍
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
输入格式:
输入第一行给出正整数n(
$$<$$10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。
输出格式:
在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。
输入样例:
输出样例:
97. 通讯录排序
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
输入格式:
输入第一行给出正整数n(
$$<$$10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。
输出格式:
按照年龄从大到小输出朋友的信息,格式同输出。
输入样例:
输出样例:
98. 计算两个复数之积
本题要求实现一个计算复数之积的简单函数。
函数接口定义:
其中struct complex是复数结构体,其定义如下:
裁判测试程序样例:
输入样例:
输出样例:
99. 按等级统计学生成绩
本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。
函数接口定义:
其中p是指向学生信息的结构体数组的指针,该结构体的定义为:
n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要根据学生的成绩score设置其等级grade。等级设置:85-100为A,70-84为B,60-69为C,0-59为D。同时,set_grade还需要返回不及格的人数。
裁判测试程序样例:
输入样例:
输出样例:
100. 使用递归函数计算1到n之和
本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。
函数接口定义:
该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
101. 判断满足条件的三位数
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。
函数接口定义:
其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。
裁判测试程序样例:
输入样例:
输出样例:
102. 递归求阶乘和
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。
函数接口定义:
函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
103. 递归实现指数函数
本题要求实现一个计算
$$x^n$$(
$$n\ge 1$$)的函数。
函数接口定义:
函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。
裁判测试程序样例:
输入样例:
输出样例:
104. 递归求简单交错幂级数的部分和
本题要求实现一个函数,计算下列简单交错幂级数的部分和:
$$ f(x, n) = x - x^2 + x^3 - x^4 + \cdots + (-1)^{n-1}x^n $$函数接口定义:
其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。
裁判测试程序样例:
输入样例:
输出样例:
105. 递归计算Ackermenn函数
本题要求实现Ackermenn函数的计算,其函数定义如下:
函数接口定义:
其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型
范围内。
裁判测试程序样例:
输入样例:
输出样例:
106. 递归求Fabonacci数列
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:
$$f(n)=f(n-2)+f(n-1)$$(
$$n\ge 2$$),其中
$$f(0)=0$$,
$$f(1)=1$$。
函数接口定义:
函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。
裁判测试程序样例:
输入样例:
输出样例:
107. 十进制转换二进制
本题要求实现一个函数,将非负整数n转换为二进制后输出。
函数接口定义:
函数dectobin应在一行中打印出二进制的n。建议用递归实现。
裁判测试程序样例:
输入样例:
输出样例:
108. 递归实现顺序输出整数
本题要求实现一个函数,对一个整数进行按位顺序输出。
函数接口定义:
函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。
裁判测试程序样例:
输入样例:
输出样例:
109. 输出月份英文名
本题要求实现函数,可以返回一个给定月份的英文名称。
函数接口定义:
函数getmonth应返回存储了n对应的月份英文名称的字符串头指针。如果传入的参数n不是一个代表月份的数字,则返回空指针NULL。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
110. 查找星期
本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
| 序号 | 星期 |
|---|---|
| 0 | Sunday |
| 1 | Monday |
| 2 | Tuesday |
| 3 | Wednesday |
| 4 | Thursday |
| 5 | Friday |
| 6 | Saturday |
函数接口定义:
函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
111. 计算最长的字符串长度
本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。
函数接口定义:
其中n个字符串存储在s[]中,函数max_len应返回其中最长字符串的长度。
裁判测试程序样例:
输入样例:
输出样例:
112. 字符串的连接
本题要求实现一个函数,将两个字符串连接起来。
函数接口定义:
函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。
裁判测试程序样例:
输入样例:
输出样例:
113. 指定位置输出字符串
本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。
函数接口定义:
函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
输入样例3:
输出样例3:
114. 查找子串
本题要求实现一个字符串查找的简单函数。
函数接口定义:
函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。
裁判测试程序样例:
输入样例1:
输出样例1:
输入样例2:
输出样例2:
115. 奇数值结点链表
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:
函数接口定义:
函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到
时表示输入结束,函数应返回指向单链表头结点的指针。
函数getodd将单链表L中奇数值的结点分离出来,重新组成一个新的链表。返回指向新链表头结点的指针,同时将L中存储的地址改为删除了奇数值结点后的链表的头结点地址(所以要传入L的指针)。
裁判测试程序样例:
输入样例:
输出样例:
116. 单链表结点删除
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:
函数接口定义:
函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到
时表示输入结束,函数应返回指向单链表头结点的指针。
函数deletem将单链表L中所有存储了m的结点删除。返回指向结果链表头结点的指针。