2021年大连东软期末C语言考试题库总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言编程练习题
1.从键盘上输入两个整型数据a和b值, 计算它们加、减、乘、除成果, 并将成果输出在
屏幕上。
2.从键盘上输入两个float类型数据a和b值, 计算它们加、减、乘、除成果, 并将成果输
出在屏幕上。
3.从键盘上输入两个double类型数据a和b值, 计算它们加、减、乘、除成果, 并将成果
输出在屏幕上。
4.从键盘上输入两个字符型数据a和b值, 将它们输出在屏幕上。
5.定义两个整型变量分别表达长方形长和宽, 从键盘上输入长和宽值, 将这两个值显示在
屏幕上, 并将长方形面积和周长也显示在屏幕上。
6.定义一种浮点型变量表达圆半径, 从键盘上输入该半径值, 计算出圆面积并输出在屏幕
上。
7.求任意半径球体积。
球体积计算公式为: v=
8.4
9.3
10.π
11.r
12.3
13.。
定义一种浮点型变量表达一种人身高(以厘米为单位), 计算并输出其黄金分割点位置在哪?
从键盘输入三角形三边长a、b、c(假定输入保证了它们能构成三角形), 用公式求该
三角形面积。
求三角形面积公式:area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2。
用“*”符号在屏幕上输出一种“∟”形形状。
显示形状类似下图:
*
*
*
*
*
*
*
* * * * * * * * * *
用“*”符号在屏幕上输出一种“∠”形形状。
显示形状类似下图:
*
*
*
*
*
*
*
* * * * * * * * *
用“*”符号在屏幕上输出一种“△”形形状。
显示形状类似下图:
*
* *
* *
* *
* *
* *
* *
* * * * * * * * * * * * * * * * * *
14.从键盘上输入一种秒数, 将其转换成相应小时数、分钟数和秒数。
例如, 输入5000, 则
输出应为“1小时23分钟20秒”。
15.从键盘上输入一种天数, 将其转换成相应年数、月数和天数(假设每年均为360天, 每
月均为30天)。
例如: 输入1000, 则输出应为“2年9个月10天”。
16.大连东联路从联合路入口到南关岭出口全长11.3公里, 全程限速70公里/小时, 编写程
序, 计算从联合路到南关岭最短时间是多少分钟多少秒?
17.从键盘上输入一种华氏温度, 运用公式计算其摄氏温度。
计算公式如下: 。
18.反推上面公式, 从键盘上输入一种摄氏温度, 计算其相应华氏温度。
19.已知某位同窗英语、高数和C语言成绩(分别从键盘上输入), 计算并输出该生总分和
各科平均分(小数点后保存一位)。
20.从键盘上输入两个整数, 将它们值互换后再输出。
21.从键盘上输入一成绩, 鉴定其与否及格, 若及格, 在屏幕上显示congratulation, 若不及
格, 则在屏幕上显示: failed。
22.输入一种数, 输出它绝对值。
23.输入两个整数, 输出其中较大者【输入三个数, 怎么输出其中最大者?】。
24.输入3个整数, 按从小到大顺序输出。
25.从键盘上输入三角形三边a,b,c, 判断能否构成三角形, 若能, 计算并输出该三角形面积,
若不能, 则给出相应提示。
26.从键盘上输入三角形三边长, 判断该三角形形状(等边、等腰、普通等)。
27.编写程序, 从键盘上输入一种字符, 若该字符是大写字母, 在屏幕上输出相应小写字母。
若不是大写字母, 请给出相应提示: “这不是一种大写字母”。
28.编写程序, 从键盘上输入一种字符, 若该字符是大写字母, 在屏幕上输出相应小写字母。
若不是大写字母, 请给出相应提示: “这不是一种大写字母”。
29.编写程序, 从键盘上输入一种字符, 若该字符是小写字母, 在屏幕上输出相应大写字母。
若不是小写字母, 请给出相应提示: “这不是一种小写字母”。
30.编写程序, 从键盘上输入一种字符, 若该字符是数字字符, 在屏幕上输出相应整数数字。
若不是数字字符, 请给出相应提示: “这不是一种数字字符”。
31.大连出租车白天(6点至22点)运价规定为:三公里内起步价为8.0元, 三公里以外每
公里运价为2.0元。
编写程序, 从键盘上输入乘车里程数, 计算出车费(车费以元为单位, 四舍五入), 并输出在屏幕上。
32.大连出租车运价规定为:白天(6点至22点):三公里内起步价为8.0元, 三公里以外每
公里运价为2.0元。
晚上(22点至6点):三公里内起步价为10.0元, 三公里以外每公里运价为2.4元。
编写程序, 从键盘上输入乘车时间及乘车里程数, 计算出车费(车费以元为单位, 四舍五入), 并输出在屏幕上。
33.求一种三位整数各个数位上数值。
(四位整数呢?五位整数呢?任意位整数
呢?)
34.已知有如下分段函数, 从键盘上输入x值, 计算并输出f(x)值。
35.编写程序, 计算如下分段函数值, 并将成果输出在屏幕上。
36.y = {x2+2x−3 (x≥30) 3x2−x3 ( −5≤x<30)
(x+5)2+4x+2 (x<−5)
37.输入存款金额m、存期year和年利率rate, 依照公式计算存款到期时利息interest, 输出
时保存2位小数。
利息计算公式为: 。
38.输入x, 计算并输出下面分段函数f(x)值。
开方可调用sqrt库函数, 求幂可调用pow库函
数。
调用办法: x平方根=sqrt( x);。
要调用这两个函数, 需要包括math.h头文献。
39.输入两个正整数m和n(m<=n), 求, 输出时保存4位小数。
40. 输入一种正整数n, 计算1+1/3+1/5+…前n 项之和。
41. 输入一种正整数n, 计算1-1/4+1/7-1/10+1/13-1/16+…前n 项之和。
42. 输入一种正整数n, 计算1-2/3+3/5-4/7+5/9-6/11+…前n 项之和。
43. 输入实数x 及正整数n, 计算。
(注意: 不容许调用pow 库函数)
记录100-999之间有多少个满足下列规定整数:其各位数字之和等于5。
输出数个数, 同步, 再计算出满足条件整数和。
找出200以内所有完数, 并输出其因子。
一种数若正好等于它各因子之和, 即称其为完数, 如6=1+2+3, 其中1、2、3为因子, 6为因子为和。
(注:规定输出时按哪下格式连同完数因子一同输出)
6=1+2+3
28=1+2+4+7+14
…
44. 依照下式求值, 直到某一项不大于。
45. )12(...53!...9753!4753!353!23!112+⨯⨯⨯⨯++⨯⨯⨯+⨯⨯+⨯++=i i π
46. 输入一种整数n, 规定将其逆向输出。
例如, 输入4172, 输出为2714。
47. 输入两个正整数a 和n, 求a+aa+aaa+…+aa …a(n 个a)之和。
48. 验证哥德巴赫猜想:任何一种不不大于6偶数均可以表达为两个奇素数之和。
例如:6=3+3,
8=3+5, …, 24=5+19。
编写程序, 将6-100之间偶数都表达到两个素数之和, 打印时一行打印5组。
素数就是只能被1和自身整除正整数。
49. 任意输入一种正整数, 输出其各位数字重排后最大整数。
例如, 输入, 输出为7210。
50. 计算并输出y=1000...102101100++++值。
(可调用sqrt 库函数)
51. 某客户为购房办理商业贷款, 选取了按月等额本息还款法, 计算公式如下, 在贷款本金
(loan )和月利率(rate )一定状况下, 住房贷款月还款额(money )取决于还款总月数(month)。
客户打算在5-30年范畴内选取还清贷款年限, 为了便于选取, 她想查看一下每
个还款年限相应月还款额。
请你编写程序, 帮她打印一张“还款年限-----月还款额”对照表(月还款额保存2位小数)。
计算公式为: (注: 最新5年期以上贷款年利率为6.55%)if、switch题: 输入月薪salary, 输出应缴个人所得税tax(保存2位小数)。
按照实行最新个人所得税法, 计算公式为: tax=rate(salary-3500)-deduction。
当salary<=3500时, rate=0, deduction=0;
当3500<salary<=5000时, rate=3%, deduction=0;
当5000<salary<=8000时, rate=10%, deduction=105;
当8000<salary<=12500时, rate=20%, deduction=555;
当12500<salary<=38500时, rate=25%, deduction=1005;
当38500<salary<=58500时, rate=30%, deduction=2755;
当58500<salary<=83500时, rate=35%, deduction=5505;
52.当83500<salary时, rate=45%, deduction=13505;
53.从键盘上输入10个成绩, 求其平均成绩。
54.编写程序, 用公式求π近似值, 直到最后一项绝对值不大于
10-6为止。
55.编写程序, 求任意整数各个数位上数字之和, 如输入整数67401, 成果为18(由于
1+0+4+7+6=18)。
56.编写程序, 输出100-999之间所有“水仙花”数。
如371是水仙花数, 由于13+73+33=371。
57.编写程序, 求s=1+2+3+4+…+100和。
58.编写程序, 求s=1+2+3+4+…+n和。
59.编写程序, 求s=m+(m+1)+(m+2)+(m+3)+…+n和。
60.编写程序, 求n!。
61.编写程序, 求满足1+2+3+4+…+n<1000时n最大值及其和值。
62.编写程序, 求s=1+2+4+5+7+8+10+…+100值。
63.记录100-999之间有多少个满足下列规定整数: 其各位数字之和为5。
编写程序, 输出这
些整数, 并计算它们和。
64.读入一批正整数(以零或负数结束), 求其中奇数和。
65.输入一种正整数n, 然后再输入n个整数, 输出这n个整数中最小数。
66.皮球从h米高度自由落下, 触地后反弹到原高度一半, 再落下, 再反弹, 如此重复。
编写
程序, 计算皮球在第n次反弹落地时, 在空中通过路程是多少米?第n次反弹高度是多少米?
67.黑洞数, 又称“Kaprekar问题”。
从键盘上输入任意一种数字不全相似三位数, 经有限次
“重排求差”操作, 总会得到495.最后所得495即为三位黑洞数。
所谓“重排求差”操作即构成该数数字重排后最大数减去最小数。
例如, 对于192:第1次重排求差得:921-129=792;第2次, 得:972-279=693;第3次, 得:963-369=594;第4次, 得954-459=495.
三个数字相似, 则转换一次后即得0。
编写程序, 输出任意三位数重排求差过程。
68.韩信点兵。
韩信在点兵时候为了懂得有多少兵, 同步又能保住军事机密, 便让士兵排队
报数: 按从1至5报数, 最后一种士兵报数为1;再按从1至6报数, 最后一种士兵报数为5;再按从1至7报数, 最后一种士兵报数为4;再按从1至11报数, 最后一种士兵报数为10.编写程序, 计算韩信有多少兵?
69.编写程序, 在屏幕上输出2-n间所有素数, n从键盘上输入。
素数是指只能被1和自身整
除整数, 最小素数是2。
70.银行换零钱。
假定你拿1张百元钞票到银行换零, 规定是必要换成若干张20元、10元
和5元。
请编写程序, 找出所有也许找零组合, 如1张20元, 5张10元, 6张5元。
71.36块砖, 36人搬, 男搬3, 女搬1, 小孩2人抬一块。
编写程序, 输出所有也许男、女、
小孩组合。
72.编写程序, 找出200以内所有完数, 并输出其因子。
一种数若正好等于它各因子之和, 即
称其为完数。
例如: 28=1+2+4+7+14, 其中1.2.4.7、14均为28因子, 则28是一种完数。
73.编写程序, 输出任意偶数质因子。
例如:500=2*2*5*5;612=2*2*3*3*17。
74.运用泰勒展开式
75.e
76.e
77.=1+
78.e
79.1!
80.+
81.
82.e
83.2
84.
85.2!
86.+
87.
88.e
89.3
90.
91.3!
92.+…, −∞<e<∞计算常量e值(精准到小数点后10位)。
93.从键盘上输入一种数组10个元素, 逆序输出各元素。
94.从键盘上输入一种数组10个元素, 逆序存储各元素后, 再顺序输出。
95.从键盘上输入一种数组10个元素, 将每个元素依次向后移一种位置, 最后一种元素移动
到第一种元素位置。
(反向移动?)
96.将数组中一种元素删除。
97.往一种按升序排好数组中插入一种新元素, 使其依然保持升序。
98.输出数组中最大(小)值(下标)。
99.计算并输出数组中所有元素和(或平均值)。
100.输出数组中比平均值大(或小)元素。
101.把该数组中所有奇数(或偶数)存储到另一数组中, 并计算奇数个数。
102.输入一种新数, 查询该数与否在数组中, 若在, 输出其下标, 若不在, 给出相应提示。
103.自定义函数, 实现strlen功能。
104.自定义函数, 实现strcpy功能。
105.自定义函数, 实现strcat功能。
106.自定义函数, 实现strcmp功能。
1自定义函数, 求一种字符串中满足规定子串。
函数原型为:”char * substring( const char *str, int start, int length) “, 返回值为得到新串首地址, str为要查找子串源字符串, start为子串在原串起始位置, length为待求子串长度。
若求子串不成功, 则返回空串。
2计算Fabonacci数列前n项, n从键盘上输入。
Fabonacci数列形式为:
312358132134…
打印杨辉三角, 如下所示:
1
11
121
1331
14641
15101051
(1)提示: 杨辉三角形有如下特点:
(2)只有下半三角形有拟定值;
107.第一列和对角线上元素值都是1, 其她元素值均是前一行同一列元素与前一行前一列元素之和。
随机生成一种M行N列二维数组, 完毕如下任务:
(1)按矩阵形式输出该数组所有元素
(2)求数组中最大(或最小)值
(3)求每一行最大(或最小)值
(4)给定一种i, j下标值, 计算环绕元素[i][j]其他元素和。
(注意边界上元素)
(5)将该数组所示矩阵转置
108.求一种二维数组鞍点。
所谓鞍点, 即该位置上元素在该行上最大,在该列上最小。
也也许没有鞍点。
109.求一种M*N矩阵和一种N*M矩阵相乘成果。
110.编程求两个3×4 (3行4列)矩阵之和。
然后输出。
矩阵元素值从键盘输入。
111.记录一种字符串在另一种字符串中浮现次数。
例如: 字符串“abc”在字符串“*abc12ababcab”中浮现次数为2。
编写程序实现如下功能:
将字符串中所有字母‘n’都改成大写‘N’, 并输出解决后字符串。
编写程序实现如下功能:
将字符串中字母‘n’都删掉, 并输出解决后字符串。
编写程序实现如下功能:
将字符串中指定字符序列都删掉, 并输出解决后字符串。
例如:字符串“abcababcababca”
删除“abc”字符序列后串为“ababa”。
编写程序实现如下功能:
将字符串中所有小写字母都改成相应大写字母(或者将大写字母改成相应小写字母), 并输出解决后字符串。
编写程序实现如下功能:
112.将字符串中每个单词首个字母变成大写字母, 并输出解决后字符串。
从键盘输入一种字符串, 记录其中大写字母个数、小写字母个数以及空格个数。
从键盘输入一种字符串, 记录其中每个英文字母个数(不区别大小写、或区别大小写)。
例如:输入“This is a test string.”, 则输出应为(区别大小写状况):
a------1e------1h------1i------3g-----1n------1s------3t------3T------1 113.判断字符串与否回文。
是回文, 返回1, 不是, 则返回0.
字符串替代函数。
(在字符串str中查找与否有子串source, 若有, 将其替代为target子串。
替代成功返回1, 替代不成功返回0.
114.int strReplace( char * str, char *source, char * target)在字符串str中查找与否有字符source, 若有, 将其替代为字符target。
替代成功返回1, 替代不成功返回0.
115.int strReplace( char * str, char source, char target)
116.从键盘输入5个字符串, 按升序排序后输出。
117.辨认字符串中整数并转换为数字形式。
(华为笔试题)
问题描述: 辨认输入字符串中所有整数, 记录整数个数并将这些字符串形式整数转换为数字形式整数。
规定实现函数:
void take_num( const char *str, int *n, unsigned int *outArray) 【输入】str : 输入字符串
【输出】n: 记录辨认出来整数个数
outArray:辨认出来整数值, 其中outArray[0]是输入字符串中从左到右第一
种整数, outArray[1]是第二个整数, 依此类推。
【返回】无
(1)不考虑字符串中浮现正负号(+、-), 即所有转换成果为非负整数(涉及0和正整数)
(2)不考虑转换后整数超过范畴状况, 即测试用例中也许浮现最大整数不会超过unsigned int可解决范畴
(3)需要考虑’0’开始数字字符串状况, 例如”00035”, 应转换为整数35;”000”应转换为整数0;”00.0035”应转换为整数0和35(忽视小数点:mmm.nnnnnn当成两个整数mmm和nnnnnn来辨认)
(4)输入字符串假定不会超过100字节。
【示例】
输入: ab00cd+123fght456-25 3.005fgh
输出: n=6
outArray={0, 123, 456, 25, 3, 5}
小组作业: 开发一种学生成绩管理系统
规定:建议每位同窗完毕一种完整成绩管理系统, 有问题, 由组长组织在一起讨论, 小组内展示成果。
如下给出详细阐明。
函数
函数原型阐明功能及形式参数阐明
原
型:
序号
1void displayMenu( )显示菜单
2int login( )验证口令。
成功返回1, 否则返回0
3int inputScore(int score[ ], int length)输入学生成绩到数组中。
如果某个学生成
绩输入为-1, 则表达输入结束。
score为成绩
数组, length为该数组最多元素个数;返回
值为实际输入学生个数
4void outputScore(int score[ ], int length)输出数组中学生成绩。
score为成绩数组,
length为实际存储学生个数
5int queryScore(int score[ ], int length, int xScore)查询成绩。
score为成绩数组, length为实际
存储学生个数, 返回值为最高成绩下标
6void sortScore(int score[ ], int length)对每个学生成绩进行排序。
score为成绩数
组, length为实际存储学生个数
运营效果阐明:
系统运营画面如下所示:
118.运营程序可执行文献, 依照菜单提示, 选取要使用功能。
如选取1, 则表达要对学生成绩进行录入, 依照提示, 录入若干个学生成绩, 若想结束录入, 依照提示输入结束标记(-1)即可。
选取2, 就会把刚才录入所有成绩显示出来。
若要查找某个学生成绩, 则选取3, 输入要查找成绩, 就会把查找成果显示出来。
若要对所有输入学生成绩进行排序, 则选取4, 即可把所有成绩按照由低到高顺序显示出来。
119.用一维数组完毕上述小组作业。
120.用二维数组改版本上述小组作业, 使其可以管理多门课程成绩。
121.用指向一维数组指针改版一维数构成绩管理。
122.用构造体改版上述小组作业, 使其可以管理学生学号、姓名、多门课程成绩, 以及其她有关信息, 并可以将信息存储到文献中, 也能从文献中读取已存储了信息。
用链表改版上述小组作业, 使其可以实现与用构造体类似功能。