《大连东软期末C语言考试题库.docx》由会员分享,可在线阅读,更多相关《大连东软期末C语言考试题库.docx(12页珍藏版)》请在三一办公上搜索。
1、大连东软期末C语言考试题库C语言编程练习题1 .从键盘上输入两个整型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。2 .从键盘上输入两个float类型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。3 .从键盘上输入两个double类型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。4 .从键盘上输入两个字符型数据a和b的值,将它们输出在屏幕上。5 .定义两个整型变量分别表示长方形的长和宽,从键盘上输入长和宽的值,将这两个值显示在屏幕上,并将长方形的面积和周长也显示在屏幕上。6 .定义一个浮点型变量表示圆的半径,从键盘上输入该半径值
2、,计算出圆的面积并输出在屏幕上。7 .求任意半径的球体积。球体积的计算公式为:J。8 .定义一个浮点型变量表示一个人的身高(以厘米为单位),计算并输出其黄金分割点的位置在哪?9 .从键盘输入三角形的三边长a、b、c(假定输入保证了它们能构成三角形),用公式求该三角形的面积。求三角形面积的公式:&0=5口1?1(5*(5-)*(0-坊*($-。),其中s=(a+b+c)2o10 .用“*”符号在屏幕上输出一个形形状。显示形状类似下图:IL用“*”符号在屏幕上输出一个“N”形形状。显示形状类似下图:*12.用“*”符号在屏幕上输出一个形形状。显示形状类似下图:* * * * * *13 .从键盘上
3、输入一个秒数,将其转换成对应的小时数、分钟数和秒数。例如,输入5000,则输出应为“1小时23分钟20秒”。14 .从键盘上输入一个天数,将其转换成对应的年数、月数和天数(假设每年均为360天,每月均为30天)。例如:输入IOo0,则输出应为“2年9个月10天”。15 .大连东联路从联合路入口到南关岭出口全长11.3公里,全程限速70公里/小时,编写程序,计算从联合路到南关岭最短的时间是多少分钟多少秒?16 .从键盘上输入一个华氏温度,利用公式计算其摄氏温度。计算公式如下:c=(-32)17 .反推上面的公式,从键盘上输入一个摄氏温度,计算其对应的华氏温度。18 .已知某位同学的英语、高数和C
4、语言成绩(分别从键盘上输入),计算并输出该生的总分和各科平均分(小数点后保留一位)。19 .从键盘上输入两个整数,将它们的值交换后再输出。20 .从键盘上输入一成绩,判定其是否及格,若及格,在屏幕上显示COngratUlatiOn,若不及格,则在屏幕上显示:failedo21 .输入一个数,输出它的绝对值。22 .输入两个整数,输出其中较大者【输入三个数,怎么输出其中的最大者?】。23 .输入3个整数,按从小到大的顺序输出。24 .从键盘上输入三角形的三边a,b,c,判断能否构成三角形,若能,计算并输出该三角形面积,若不能,则给出相应的提示。25 .从键盘上输入三角形的三边长,判断该三角形的形
5、状(等边、等腰、一般等)。26 .编写程序,从键盘上输入一个字符,若该字符是大写字母,在屏幕上输出对应的小写字母。若不是大写字母,请给出相应提示:“这不是一个大写字母”。27 .编写程序,从键盘上输入一个字符,若该字符是大写字母,在屏幕上输出对应的小写字母。若不是大写字母,请给出相应提示:“这不是一个大写字母”。28 .编写程序,从键盘上输入一个字符,若该字符是小写字母,在屏幕上输出对应的大写字母。若不是小写字母,请给出相应提示:“这不是一个小写字母”。29 .编写程序,从键盘上输入一个字符,若该字符是数字字符,在屏幕上输出对应的整数数字。若不是数字字符,请给出相应提示:“这不是一个数字字符”
6、。30 .大连出租车的白天(6点至22点)运价规定为:三公里内起步价为8.0元,三公里以外每公里的运价为2.0元。编写程序,从键盘上输入乘车里程数,计算出车费(车费以元为单位,四舍五入),并输出在屏幕上。31 .大连出租车的运价规定为:白天(6点至22点):三公里内起步价为8.O元,三公里以外每公里的运价为2.O元。晚上(22点至6点):三公里内起步价为10O元,三公里以外每公里的运价为2.4元。编写程序,从键盘上输入乘车时间及乘车里程数,计算出车费(车费以元为单位,四舍五入),并输出在屏幕上。32.求一个三位整数的各个数位上的数值。 呢?)(四位整数呢?五位整数呢?任意位的整数2x 133.
7、已知有如下分段函数(i)(X=I),从键盘上输入X的值,计算并输出f(x)的值。34 .编写程序,计算以下分段函数的值,并将结果输出在屏幕上。x2+2x-3(x30),3x2x3(-5x30)(x+5)2+4x+2(x-5)35 .y=36.输入存款金额m、存期year和年利率rate,根据公式计算存款到期时的利息interest,输出时保留2位小数。利息计算公式为:MtereSt=m(l+rte)Jm.37.输入X,计算并输出下面分段函数f(x)的值。开方可调用Sqrt库函数,求事可调用POw库函数。调用方法:X的平方根=Sqrt(X):Y=Qh=POW(Qtb)o要调用这两个函数,需要包含
8、math,h头文件。f(x+1)3+2(x-5)2-7x+-(XVO)r(x)=0)、38.输入两个正整数m和n7(m=n),求=m,输出时保留4位小数。39.输入一个正整数n,计算1+1/3+1/5+的前n项之和。40.输入一个正整数n,计算1T/4+1/7T/10+1/13T/16+的前n项之和。41 .输入一个正整数n,计算1-2/3+3/5-4/7+5/9-6/11+3的前n项之和。42 .输入实数X及正整数n,计算X。(注意:不允许调用PoW库函数)43 .统计100-999之间有多少个满足下列要求的整数:其各位数字之和等于5。输出数的个数,同时,再计算出满足条件的整数的和。44 .
9、找出200以内的所有完数,并输出其因子。一个数若恰好等于它的各因子之和,即称其为完数,如6=1+2+3,其中1、2、3为因子,6为因子为和。(注:要求输出时按哪下格式连同完数的因子一同输出)6=1+2+328=1+2+4+7+1445 .根据下式求以的值,直到某一项小于1一。46 .jr1!2!,3!4!H7=1+T+3x5+3x5x7+3x5x7x9+,+35.(2+l)47 .输入一个整数n,要求将其逆向输出。例如,输入4172,输出为2714。48 .输入两个正整数a和n,求a+aa+aaa+aaa(n个a)之和。49 .验证哥德巴赫猜想:任何一个不小于6的偶数均可以表示为两个奇素数之和
10、。例如:6=3+3,8=3+5,,24=5+19o编写程序,将6T00之间的偶数都表示成两个素数之和,打印时一行打印5组。素数就是只能被1和自身整除的正整数。50 .任意输入一个正整数,输出其各位数字重排后最大的整数。例如,输入2017,输出为7210。51 .计算并输出y=Vl+V101+V102+.+Vl的值。(可调用Sqrt库函数)52 .某客户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款总月数(month)。客户打算在5-30年的范围内选择还清贷款的年限,为了便于选择,他想
11、查看一下每个还款年限对应的月还款额。请你编写程序,帮他打印一张“还款年限月还款额”对照表(月还款额保留2位小数)。计算公式为:money = loanrate(lrate)month(注:最新5年期以上贷款年利率为(l+rate)monrA-l6.55%)53 .if、SWitCh题:输入月薪salay,输出应缴的个人所得税tax(保留2位小数)。按照2011年实行的最新的个人所得税法,计算公式为:tax=rate(salary-3500)-deductio11o当SaIary=3500时,rate=0,deduction=0;当350(KSalary=5000时,rate=3%,deduct
12、ion=0;当5000salary=8000时,rate=10%,deduction=105;当800(KSalary=12500时,rate=20%,deduction=555;当1250(KSaIaryC38500时,rate=25%,dcduction=1005;当38500salary=58500时,rate=30%,deduction=2755;当58500salary=83500时,rate=35%,deduction=5505;当83500salary时,rate=45%,dcduction=13505;54 .:一;从键盘上输入10个成绩,求其平均成绩。55 .编写程序,用公式
13、求的近似值,直到最后一项的绝对值小于1(为止。56 .编写程序,求任意整数的各个数位上的数字之和,如输入整数67401,结果为18(因为1+0+4+7+6=18),57 .编写程序,输出100-999之间所有的“水仙花”数。如371是水仙花数,因为13+73+3-371o58 .编写程序,求s=l+23+4+100的和。59 .编写程序,求s=l+2+3+4+n的和。60 .编写程序,求s=m+(m+l)+(m+2)+(m3)+n的和。61 .编写程序,求n!。62 .编写程序,求满足1+2+3+4+n1000时n的最大值及其和值。63 .编写程序,求s=l+2+4+5+7+8+10+100的
14、值。64 .统计100-999之间有多少个满足下列要求的整数:其各位数字之和为5。编写程序,输出这些整数,并计算它们的和。65 .读入一批正整数(以零或负数结束),求其中奇数的和。66 .输入一个正整数n,然后再输入n个整数,输出这n个整数中的最小数。67 .皮球从h米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复。编写程序,计算皮球在第n次反弹落地时,在空中经过的路程是多少米?第n次反弹的高度是多少米?68 .黑洞数,又称Kaprekar问题”。从键盘上输入任意一个数字不全相同的三位数,经有限次“重排求差”操作,总会得到495.最后所得的495即为三位黑洞数。所谓“重排求
15、差”操作即组成该数的数字重排后的最大数减去最小数。例如,对于192:第1次重排求差得:921-129=792;第2次,得:972-279=693;第3次,得:963-369=594;第4次,得954-459:495.三个数字相同,则转换一次后即得0。编写程序,输出任意三位数的重排求差过程。69 .韩信点兵。韩信在点兵的时候为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,最后一个士兵报数为1;再按从1至6报数,最后一个士兵报数为5;再按从1至7报数,最后一个士兵报数为4;再按从1至11报数,最后一个士兵报数为10.编写程序,计算韩信有多少兵?70 .编写程序,在屏幕上输
16、出2-n间所有的素数,n从键盘上输入。素数是指只能被1和自身整除的整数,最小的素数是2。71 .银行换零钱。假定你拿1张百元钞票到银行换零,要求是必须换成若干张20元、10元和5元。请编写程序,找出所有可能的找零组合,如1张20元,5张10元,6张5兀O72 .36块砖,36人搬,男搬3,女搬1,小孩2人抬一块。编写程序,输出所有可能的男、女、小孩组合。73 .编写程序,找出200以内的所有完数,并输出其因子。一个数若恰好等于它的各因子之和,即称其为完数。例如:28=1+2+4+7+14,其中1、2、4、7、14均为28的因子,则28是一个完数。74 .编写程序,输出任意偶数的质因子。例如:5
17、00=2*2*5*5;612=2*2*3*3*17oejf=l+-r7+7+-Z+.,oOX75 .利用泰勒展开式1!2!3!计算常量e的值(精确到小数点后10位)。76 .从键盘上输入一个数组的10个元素,逆序输出各元素。77 .从键盘上输入一个数组的10个元素,逆序存储各元素后,再顺序输出。78 .从键盘上输入一个数组的10个元素,将每个元素依次向后移一个位置,最后一个元素移动到第一个元素的位置。(反向移动?)79 .将数组中的一个元素删除。80 .往一个按升序排好的数组中插入一个新元素,使其仍然保持升序。81 .输出数组中最大(小)值(下标)。82 .计算并输出数组中所有元素的和(或平均
18、值)。83 .输出数组中比平均值大(或小)的元素。84 .把该数组中所有的奇数(或偶数)存储到另一数组中,并计算奇数的个数。85 .输入一个新数,查询该数是否在数组中,若在,输出其下标,若不在,给出相应提zjo86 .自定义函数,实现Strlen的功能。87 .自定义函数,实现Strcpy的功能。88 .自定义函数,实现Strcat的功能。89 .自定义函数,实现StrCmP的功能。90 .自定义函数,求一个字符串中满足要求的子串。函数原型为:”Char*substring(constchar*str,intstart,intlength)”,返回值为得到的新串的首地址,str为要查找子串的源
19、字符串,Start为子串在原串的起始位置,length为待求子串的长度。若求子串不成功,则返回空串。91 .计算Fabonacci数列的前n项,n从健盘上输入。Fabonacci数列的形式为:11235813213492 .打印杨辉三角,如下所示:13311464115101051提示:杨辉三角形有以下特点:(1)只有下半三角形有确定的值;(2)第一列和对角线上的元素值都是1,其他元素值均是前一行同一列元素与前一行前一列元素之和。93 .随机生成一个M行N列的二维数组,完成以下任务:(1)按矩阵形式输出该数组的全部元素(2)求数组中的最大(或最小)值(3)求每一行的最大(或最小)值(4)给定一
20、个i,j下标值,计算围绕元素ij的其它元素的和。(注意边界上的元素)(5)将该数组所表示的矩阵转置94 .求一个二维数组的鞍点。所谓鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。95 .求一个M*N的矩阵和一个N*M的矩阵相乘的结果。96 .编程求两个3X4(3行4歹IJ)矩阵之和。然后输出。矩阵元素的值从键盘输入。97 .统计一个字符串在另一个字符串中出现的次数。例如:字符串“abc”在字符串“*abcl2ababcab”中出现的次数为2。98 .编写程序实现如下功能:将字符串中所有的字母r都改成大写2,并输出处理后的字符串。99 .编写程序实现如下功能:将字符串中的字母
21、n都删掉,并输出处理后的字符串。100 .编写程序实现如下功能:将字符串中的指定字符序列都删掉,并输出处理后的字符串。例如:字符串“abcababcababca”删除“abc”字符序列后的串为“ababa”。IOL编写程序实现如下功能:将字符串中所有的小写字母都改成对应的大写字母(或者将大写字母改成对应的小写字母),并输出处理后的字符串。102 .编写程序实现如下功能:将字符串中的每个单词的首个字母变成大写字母,并输出处理后的字符串。103 .从键盘输入一个字符串,统计其中大写字母的个数、小写字母的个数以及空格的个数。104 .从键盘输入一个字符串,统计其中每个英文字母的个数(不区分大小写、或
22、区分大小写)。例如:输入“Thisisateststring.w,则输出应为(区分大小写的情况):1105 .判断字符串是否回文。是回文,返回1,不是,则返回0.106 .字符串替换函数。(在字符串Str中查找是否有子串SoUrCe,若有,将其替换为target子串。替换成功返回1,替换不成功返回0intStrReplace(char*str,char*source,char*target)107 .在字符串str中查找是否有字符source,若有,将其替换为字符target0替换成功返回1,替换不成功返回0.intStrReplace(char*str,charsource,chartarg
23、et)108 .从键盘输入5个字符串,按升序排序后输出。109 .识别字符串中的整数并转换为数字形式。(华为笔试题)问题描述:识别输入字符串中所有的整数,统计整数个数并将这些字符串形式的整数转换为数字形式整数。要求实现函数:voidtake_num(constchar*str,int*n,unsignedint*outArray)【输入】Str:输入的字符串【输出】n:统计识别出来的整数个数outArray:识别出来的整数值,其中。UtArray0是输入字符串中从左到右第一个整数,OUtArray1是第二个整数,依此类推。【返回】无(1)不考虑字符串中出现的正负号(+、-),即所有转换结果为非
24、负整数(包括0和正整数)(2)不考虑转换后整数超出范围情况,即测试用例中可能出现的最大整数不会超过unsignedint可处理的范围(3)需要考虑(T开始的数字字符串情况,比如”00035”,应转换为整数35;”Oo0”应转换为整数O”00.0035”应转换为整数0和35(忽略小数点:mmm.nnnnnn当成两个整数mmm和nnnnnn来识别)(4)输入字符串假定不会超过100字节。【示例】输入:ab00cd+123fght456-253.005fgh输出:n=6OutArray=0,123,456,25,3,5小组作业:开发一个学生成绩管理系统要求:建议每位同学完成一个完整的成绩管理系统,有
25、问题,由组长组织在一起讨论,小组内展示成果。以下给出具体说明。函数原型:序口函数原型说明功能及形式参数说明号1 voiddisplayMenu()显示菜单2 intlogin()验证口令。成功返回1,否则返回0zrn输入学生成绩到数组中。如果某个学生的成绩输入为T,则表示intinputScore(intscoreJ,3 、输入结束。SCore为成绩数组,Iength为该数组的最多元素个intlength)数;返回值为实际输入的学生个数void OutputScore(int 4score , int length)int queryScore(int score tint length, i
26、nt xScore)返回值为最高成绩的卜标输出数组中的学生成绩。SCore为成绩数组,length为实际存储的学生个数查询成绩。SCore为成绩数组,Iength为实际存储的学生个数,void SortScore(int score,int length)对每个学生的成绩进行排序。score为成绩数组,length为实际存储的学生个数运行效果说明:系统运行画面如下所示:B生I 90 生:89请选择您的操作”.2,3.4.53B输入学生的成绩(以T结束输入:学生成绩普理系统1.求人2.输出运行程序可执行文件,根据菜单的提示,选择要使用的功能。如选择1,则表示要对学生成绩进行录入,根据提示,录入若
27、干个学生的成绩,若想结束录入,根据提示输入结束标记(T)即可。选择2,就会把刚才录入的所有成绩显示出来。若要查找某个学生的成绩,则选择3,输入要查找的成绩,就会把查找结果显示出来。若要对所有输入的学生成绩进行排序,则选择4,即可把所有成绩按照由低到高的顺序显示出来。110 .用一维数组的完成上述小组作业。111 .用二维数组改版本上述小组作业,使其可以管理多门课程的成绩。112 .用指向一维数组的指针改版一维数组的成绩管理。113 .用结构体改版上述小组作业,使其可以管理学生的学号、姓名、多门课程的成绩,以及其他相关信息,并能够将信息存储到文件中,也能从文件中读取已存储了的信息。114 .用链表改版上述小组作业,使其可以实现与用结构体类似的功能。