《C程序设计基础》 上机题库.docx

上传人:b****1 文档编号:15223317 上传时间:2023-07-02 格式:DOCX 页数:19 大小:27.54KB
下载 相关 举报
《C程序设计基础》 上机题库.docx_第1页
第1页 / 共19页
《C程序设计基础》 上机题库.docx_第2页
第2页 / 共19页
《C程序设计基础》 上机题库.docx_第3页
第3页 / 共19页
《C程序设计基础》 上机题库.docx_第4页
第4页 / 共19页
《C程序设计基础》 上机题库.docx_第5页
第5页 / 共19页
《C程序设计基础》 上机题库.docx_第6页
第6页 / 共19页
《C程序设计基础》 上机题库.docx_第7页
第7页 / 共19页
《C程序设计基础》 上机题库.docx_第8页
第8页 / 共19页
《C程序设计基础》 上机题库.docx_第9页
第9页 / 共19页
《C程序设计基础》 上机题库.docx_第10页
第10页 / 共19页
《C程序设计基础》 上机题库.docx_第11页
第11页 / 共19页
《C程序设计基础》 上机题库.docx_第12页
第12页 / 共19页
《C程序设计基础》 上机题库.docx_第13页
第13页 / 共19页
《C程序设计基础》 上机题库.docx_第14页
第14页 / 共19页
《C程序设计基础》 上机题库.docx_第15页
第15页 / 共19页
《C程序设计基础》 上机题库.docx_第16页
第16页 / 共19页
《C程序设计基础》 上机题库.docx_第17页
第17页 / 共19页
《C程序设计基础》 上机题库.docx_第18页
第18页 / 共19页
《C程序设计基础》 上机题库.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《C程序设计基础》 上机题库.docx

《《C程序设计基础》 上机题库.docx》由会员分享,可在线阅读,更多相关《《C程序设计基础》 上机题库.docx(19页珍藏版)》请在冰点文库上搜索。

《C程序设计基础》 上机题库.docx

《C程序设计基础》上机题库

《C++程序设计基础》 上机题库

说明:

本上机题库按内容分为四部分,即程序设计初步、函数、数组、指针,其中每一部分又根据难度不同分为A、B、C三类。

第一部分程序设计初步

一、A类程序设计题

1、将用户输入的字母自动转换为大写字母后输出,假定用户输入的字符均是字母。

2、判断用户所输入的整数是否为偶数

3、编程实现并输出两个数的大小判断,将大数输出

4、编程实现并输出两个数的和值

5、将括号中的字符串分别按每行一个单词的方式分行显示。

(ThisisaC++program)

6、编程计算并输出字符、无符号整数与长整型数值在内存中所占字节数

7、定义三个变量,由用户指定其值,并将值输出显示给用户

8、定义三个变量,并完成初始化后输出显示给用户

9、完成9除3后的求余操作并输出结果

10、编程计算表达式a×b÷c一1.5+‘a’

11、将China译成密码,密码规律是:

用原字母后面第四个字母代替原来的字母,例如,字母A后面第四个字母是E,用E代替A。

因此China应译为Glmre。

请编写一程序,用赋初值方法使c1,c2,c3,c4,c5这5个变量值分别为C、h、i、n、a,经过去处,使c1,c2,c3,c4,c5分别为为G、l、m、r、e

12、将一个用户输入的整数分别以十六进制、八进制、十进制方式、科学计数法输出。

13、求矩形面积,长、宽值由用户指定

14、运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

标准如下:

s<250km没有折扣250≤s<5002%折扣500≤s<10005%折扣1000≤s<20008%折扣2000≤s<300010%折扣3000≤s15%折扣设每公里每吨货物的基本运费为p(price的缩写),货物重为w(wright的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为:

f=p*w*s*(1-d)要求采用if语句嵌套完成。

15、采用dowhile循环结构完成1至100之间的奇数相加。

16、用循环语句编程打印下列矩阵形式,尽量使语句简捷,注意第一列与第二列间距为一个Tab的位置,其余宽度为两个空格:

10123456

21234560

32345601

43456012

54560123

65601234

17、编程求圆面积,并输出结果。

其中圆半径以用户运行时指定2+bx+c=0的根。

18、编程求一元二次方程ax

19、编程实现由底和高求三角形的面积。

20、计算y,其中y=(x+1)/(x-1)

21、用for循环语句编程打印下列矩阵形式,尽量使语句简捷,注意各列相距两个空格:

(1,1)(1,2)(1,3)(1,4)(1,5)(1,6)(1,7)

(2,1)(2,2)(2,3)(2,4)(2,5)(2,6)(2,7)

(3,1)(3,2)(3,3)(3,4)(3,5)(3,6)(3,7)

(4,1)(4,2)(4,3)(4,4)(4,5)(4,6)(4,7)

(5,1)(5,2)(5,3)(5,4)(5,5)(5,6)(5,7)

(6,1)(6,2)(6,3)(6,4)(6,5)(6,6)(6,7)

二、B类程序设计题

1、实现用户输入的三个整数的排序

2、实现在响玲后,将字符串“Helloworld”输出

3、实现任一字符和字符串长度的输出,其中字符和字符串内容由编程者自定

4、将括号内的字符串输出,(Hesaid:

"Ihavedoneit".)

5、定义一个符号常量,并在主函数中加以应用

6、编辑实现计算并输出字符、无符号整数与长整型数值在内存中所占字节数

7、将用户输入的五个字母(大小写均可)译成密码,密码规律是:

用原字母后面第四个字母代替原来的字母,例如,字母A后面第四个字母是E,用E代替A。

要求:

字符由用户指定输入五个,程序采用循环体完成,增加对输入合法性进行判断

8、使用scanf函数输入一个整数、浮点数和字符,并用printf输出2+bx+c=0的根,其中a、b、c的值由用户指定

10、根据用户输入的成绩,判定其优良等级,其中优是85分以上,良是75至84之间,中是65至74之间,及格是60至64,其余为不及格

11、编写程序,判断某一年是否为润年

12、编写程序,判断某整数是否为素数

13、给出一个不多于5位的正整数,要求:

求出它是几位数;分别打印出每一位数字;按逆序打印各位数字,例如原数为321,则输出123

14、输入两个正整数m和n,求其最大公约数和最小公倍数

15、采用循环结构完成1至100之间的偶数相加。

16、键盘输入正整数n,求出n与其反序数x之和并输出。

例如,输入2038,输出应为:

n+x=2038+8302=10340。

17、编程打印乘法九九表*123456789--------------------------------------------1123456789224681012141618336912151821242744812162024283236551015202530354045661218243036424854771421283542495663881624324048566472991827364554637281

19、编程实现输入一个整数,判断其能否被3、5、7整除,并输出以下信息之一:

(1)能同时被3、5、7整除

(2)能被其中两数(要指哪两个整除)(3)能被其中一个数(要指出该数)整除(4)不能被3、5、7整除

20、编程输出以下格式的乘法九九表*123456789-------------------------------------------------11224336944812165510152025661218243036771421283542498816243240485664991827364554637281

22、输入年份,判断是否为闰年。

输入月号,输出每月的天数

23、输入三角形三边,编写程序判断三角形的种类:

等腰三角形、等边三角形或一般三角形。

24、输入一个字符,编写程序判断该输入字符的种类:

数字、字母或其它。

25、两个数的十、一、*和/的简易计算器程序。

26、编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。

27、给一个不多于5位的正整数,要求:

①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。

28、若a=3,b=4,c=5,x=,y=,z=,u=51274,n=128765,c1=’a’,c2=’b’。

想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

a=3b=4c=5x=,y=,z=x+y=y+z=z+x=u=51274n=128765c1=’a’or97(ASCII)c2=’b’or98(ASCII)

29、设圆半径r=,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。

31、用一个循环体结构求1!

+2!

+3!

+…+19!

+20!

三、C类程序设计题

1、判断三角形是否成立,并求其面积和周长

5、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

6、输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方之和等于该数本身。

例如153是一个水仙花数,因为153=13+53+33

9、两个乒乓球队进行比赛,各出3人。

甲队为A、B、C3人,乙队为X、Y、Z3人。

已抽签决定比赛名单。

有人向队员打听比赛名单,A说他不和X比,C说他不和X、Z比,请编程找出3对赛手名单。

10、编程求所有的3位素数,且该数是对称的。

所谓对称是指一个数,倒过来还是该数,例如,375不是对称,因为倒过来后变成573。

11、编程求解母牛问题。

若一头母牛,从出生起第四个年头开始每年生一头母牛,按这规律,第n年时有多少头母牛n为用户在运行时指定的数值。

12、百钱买百鸡问题:

雄鸡7元/只,母鸡5元/只,小鸡1元/3只.花100元钱,买100只鸡,如果雄鸡、母鸡和小鸡都必须有,则雄鸡、母鸡和小鸡应各买几只

13、一球从100m落下,每次落地后反跳回原高度的一半,再落下。

编程求它在第10次落地时,共经过多少m第10次反弹多高

第二部分函数

一、A类程序设计题

1、编写一个求梯形面积的函数,在主函数中调用

2、编写函数,求sinh(x)的值,sinh(x)=(ex-e-x)/2

3、已知三角形的三边,求三角形面积,将其编写成一个函数。

4、编写一个函数实现10个数的最大值函数

5、编写一个函数来检验输入的一个字符是大写字母还是小写字母英文字母。

6、使用函数重载的方法定义两个重名函数,分别求出整型数的两点间距离和浮点型数的两点间距离。

7、编写函数将华氏温度转换为摄氏温度,公式为C=(F-32)*5/9;并在主函数中调用。

8、编写一个函数来检验输入的一个字符是0-9。

9、利用重载编写求整数绝对值和求实数绝对值两个函数。

10、使用静态局部变量,编写一个函数计算1~3的阶乘。

11、重载求平方的函数,实现求整数、单精度浮点数和双精度浮点数的平方值。

12、完成函数,参数为两个unsignedshortint型数,返回值为第一个参数除以第二个参数的结果,数据类型为shortint;如果第二个参数为0,则返回值为-1。

在主程序中实现输入输出。

13、编写一个函数求长方体的体积,长方体的长、宽、高的默认值分别为30、20、10。

在主函数中进行输入输出。

14、编写程序求π的值,其中arctan用如下形式的级数计算:

(编写函数)直到级数某项绝对值不大于10-15为止;π和x均为double型。

15、编写三个名为add的重载函数,分别实现两整数相加、两实数相加和两个复数相加的功能。

16、求方程b02=++0cbxax的根,用三个函数分别求当042>−acb、042=−acb和42<−ac是的根,并输出结果。

从主函数输入系数。

17、写一个判别素数的函数,从主函数输入一个整数,输出是否为素数的信息。

18、定义一个带参数的宏,求三角形的周长。

在主程序中,使用它

19、定义一个参数的宏,求梯形的面积。

在主程序中,使用它

20、编写带默认参数的函数,求2个或3个整数中的最大数。

并在组程序中实现

二、B类程序设计题

1、编写两个函数,输入的整数按字符串形式逆序输出,要求分别用递归算法和非递归算法实现。

如:

输入12345,输出:

543212、编写一个函数,要求键盘输入正整数n,求出n与其反序数x之和并输出。

例如,输入2038,输出应为:

n+x=2038+8302=10340。

3、编写函数利用数组名作参数计算数组arr[3][4]所有元素的和

4、编写函数利用递归的方法计算x的n阶勒让德多项式的值。

该公式如下:

5、利用全局变量并编写函数统计数组中奇数和偶数的个数。

6、利用函数调用求组合数。

∑=ini1

7、在主程序中,输入n,用递归方法编写函数,求1+2+3+…+n

8、在主程序中,输入n,用递归方法编写函数求n!

9、将一个整数的各个位上的数字加起来(用函数完成),并输出结果。

10、编写一个函数,求出数组中最大元素的下表

11、分别利用非递归和递归的方法编写函数求斐波那契数列第n项。

k+2

12、编程计算1k+3k+…+nk,用带两个参数的函数实现

13、input函数输入10个整数,并求出它们的最大值、最小值和总和。

主函数main调用input函数,并输出这10个整数的最大值、最小值和总和。

14、 设计一个递归函数,计算一个整数的各位数字之和。

15、用内联函数实现求出一维数组的最大值。

在主函数中输入数组元素值,调用求最大值函数,并输出数组最大值。

16、用弦截法,求方程()

17、用牛顿迭代法,求方程在1附近的根,0=2−x+−=xxxxf的根,用函数实现43=++x02+x,用函数实现

18、编写函数,计算,当最后一项小于0.00001时,累加结束。

x在主函数中,通过从键盘输入

19、编无参函数,voidprint(),并结合使用全局变量k与n,使每调用一次该函数,总显示出k行“+”符号来,且每行均显示连续的n个“+”符号。

并编制主函数main,对该函数进行具体调用。

20、编写两个数的最大公约数的函数,在主程序中调用

三、C类程序设计题

1、编写函数prime,用来判断某个整数是否为素数。

而后编写主函数main,输入任意一个大于4的偶数d,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数(通过调用prime来判断素数)。

如偶数80可以分解为:

7+73、13+67、19+61、37+43。

2、编写一个函数求满足以下条件的最大的n:

12+22+32+…+n2<1000

3、编制具有如下原型的函数longdif(inty1,intm1,intd1,inty2,intm2,int()1111132>++++=xxxxs�8�3d2);它负责计算出两个日期的间隔天数并返回。

其中的y1、m1、d1表示第一个日期的年、月、日;而y2、m2、d2表示第二个日期的年、月、日。

而后编制主函数,对dif进行调用,以验证它的正确性。

4、在主程序中提示输入n,编写函数用递归的方法求1+2+…+n的和。

5、编写一个将x进制正整数n化为10进制数并输出结果的函数(x为2或8),具有如下原型:

voidChgXTo10(intn,intx);并编写主函数对它进行调用来验证其正确性。

6、编写判断勾股数的函数。

打印出100内的所有的勾股数。

勾股数就是满足x2+y2=z2的自然数。

最小是勾股数5,4,3。

7、编写一个函数countk(longk,count[10]),求出证书k中数字0到9出现的次数,并计入count[10]中。

8、编写求最大公约数和最小公倍数的函数,输入m,n(要求输入数均大于0),输出它们的最大公约数和最小公倍数。

其中,写最小公倍数的函数时,要求调用求最大公约数的函数

9、寻找四位数的超级素数。

超级素数的定义为:

若一个素数从低位到高位依次去掉一位数后仍然是素数,则此数为超级素数。

例如,数2333是素数,且233、23、2均是素数,所以2333是一个超级素数,用定义函数的方式实现。

主程序中,输入位数。

10、汉诺塔问题。

有三根柱子A、B、C。

设A柱上有n个盘子,盘子的大小不等,大的盘子在下,小的盘子在上,如下图所示。

要求将A柱上的n个盘子移到C上,每一次只能移一个盘子。

在移动过程中,可以借助于任一根柱子,但必须保证三根柱子上的盘子都是大的盘子在下,小的盘子在上。

要求编一个程序打印出移动盘子的步骤。

11、编写一个排序函数用选择法对一批整数按从大到小的次序进行排序。

在主函数内输入数据,调用排序函数对数据排序,输出排序结果。

12、寻找并输出11~999之间的数m,它满足m、m2和m3均为回文数。

回文:

各位数字左右对称的整数,用定义函数的方式实现。

主程序中,输入范围(两个参数)。

13、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方之和等于该数本身。

例如,153是一个水仙花数,因为153=13+53+33。

用函数来判断时否是“水仙花数”。

14、一个数如果恰好等于它的因子之和(这里的因子不包括这个数本身),这个数就称为“完数”。

例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

编程求出1000以内的所有完数,并按下面格式输出其因子:

6,itsfactorsare1,2,3。

用函数来判断时否是“完数”。

15、用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。

注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。

思考:

利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。

主程序中输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期)

16、编一个返回真假值(布尔值)的函数p,其函数原型为:

boolp(intx);具有如下功能:

若正整数x的各位数字之积等于x2-10x-22的话,返回true,否则返false。

并编主函数,通过调用p,找出1000以内的满足上述关系的所有x。

17、编写具有如下原型的函数:

boolf(longx);其功能为:

若整数x仅由偶数字(0、2、4、6、8)组成时(如x=26480),函数返回true,否则返回false(如当x=22034时)。

并编制主函数对它进行调用。

18、编写具有如下函数原型的递归与非递归两种函数myMin,负责求出a数组中前n个整数中的最小者并返回该值。

并编制主函数,通过调用它来验证其正确性。

intmyMin(inta[],intn);提示:

递归函数中,n等于1时最小者即为a数组的第1个元素(即a[0]),递归出口;当n大于1时,首先通过递归调用来求出a数组的前n-1个元素中的最小者tmp,则函数返回值应为如下表达式之值:

“a[n-1]

tmp”。

19、输入两个二进制正整数(两个非“0”即“1”的字符串),而后输入一个运算符(“+”、“-”、“*”、“/”),按int型整数运算方式求出这两个二进制整数的运算结果并输出。

提示:

 设计将2进制数化为10进制数、以及将10进制数化为2进制数的函数“intChg2To10(chara[]);”和“voidChg10To2(intn,charresult[]);”,而后在主函数中通过调用Chg2To10先将两个输入串转化为10进制数,而后对这两个10进制数进行指定运算,再将运算结果通过Chg10To2转化为2进制数(结果在result)而后输出。

20、编写一个将x进制正整数化为10进制数并输出结果的函数,具有如下原型:

voidChgxTo10(chara[],intx);参数a中放的是x进制正整数的各位数字字符(如x可为2或8或16等),要将其化为10进制数并输出。

并编写主函数对它进行调用以验证其正确性。

第三部分数组

一、A类程序设计题

1、求一个4x4矩阵对角线元素之和。

2、用数组的方法求Fibonacci数列的值(要求输出前20个数)。

3、将一个3x4矩阵转置(行列互换)存放。

4、将一个数组中的数按逆序存放,例如原来的顺序为8,7,6,4,2,要求改为2,4,6,7,8。

5、用选择法对10个整数进行降序排序。

6、用冒泡法对10个整数进行升序排序。

7、编写一个简单程序,要求:

(1)从键盘上输入8个整数放入数组a[8]中(用for循环实现);

(2)求出数组元素的最大值及数组的平均值。

8、求3×4矩阵中每一列元素的最大值并输出。

9、求4×4矩阵中每一行元素的最小值并输出。

10、某班有30个学生,进行了数学考试,编写程序将考试成绩输入一维数组,并求数学的平均成绩及不及格学生的人数。

11、有一个3x4矩阵,求出最大元素,以及其所在的行号和列号。

12、从键盘上输入10个实数,然后按输入顺序的逆序输出这10个数。

13、从键盘输入10个整数,找出其中最大值和最小值。

14、输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。

15、输入字符串s,统计出s中共出现了多少个数字字符。

二、B类程序设计题

1、对一个已按由小到大排好顺序的整型数组,若从键盘输入一个数x,现要查询该数是否在此整型数组中,若存在则删除该数,否则显示“不存在”信息。

2、对一个已按由小到大排好顺序的整型数组,若从键盘输入一个数x,现要将该数插入到该数组中,使其插入后整个数组排序规律不变。

3、编写一程序,要求从键盘上输入10个整数放入一个数组

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2