高级程序设计(实习基础类试题)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《高级程序设计》实习
基础类编程题目
(顺序结构类题目)
1、(数字处理)输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积。
2、要将"Program"译成密码,译码规律是:用原来字母后面的第5个字母代替原来的字母.例如,字母"A"后面第5个字母是"F"."F"代替"A"。
(选择结构类题目)
3、编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1op data2的值,其中op可为+,-,*,/(用switch语句实现)。
(题目可扩充到四则混合运算,可以将“+、-、*、\”以及“()”考虑进去)
4、编一程序,对于给定的一个百分制成绩,输出相应的五分值成绩。设90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60分以下为'E'(用switch语句实现)。
(循环结构类题目)
5、求Sn=a+aa+aaa+------+aaaaaaa(n个a),其中a和n都从键盘中输入,如从键盘中输入2,5,则计算S5=2+22+222+2222+22222。
(要求使用三种循环语句分别完成)
6、韩信点兵。
韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。编程求韩信至少有多少兵?
7、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
8、(穷举算法)古希腊人认为因子的和等于它本身的数是一个完全数(自身因子除外),例如28的因子是1、2、4、7、14,且1+2+4+7+14=28,则28是一个完全数,编写一个程序求2-1000内的所有完全数。
9、(穷举算法)(钱币问题)在日常生活中常常需要用一些较小面额的钱币去组合出一定的币值。现有面值为1元、2元和5元的钞票(假设每种钞票的数量都足够多),从这些钞票中取出30张使其总面值为100元,问有多少种取法?每种取法的各种面值的钞票各为多少张?
(数组类题目)
10、已知一组字符串a[10]=”abCDefGHi”,将其中的小写字母改写成大写字母。
11、已知有20个两位正整数的数组a[20]={10,11,12,13,14,19,18,17,16,15,20,21,22,23,24,29,28,27,26,25},编一程,将数组a中满足:个位数加十位数是偶数的元素赋给数组b[],并对数组b[]从小到大排序打印。例:11,13。
12、(排序)已知有20个两位正整数的数组a[20]={10,11,12,13,14,19,18,17,16,15,20,21,22,23,24,29,28,27,26,25},从键盘输入上述数组a中的某个数,编写一程序,将该数从数组a中删除掉,将删除后该数的数组a打印。
(编程思路:需要考虑键盘输入的数在数组中的位置,可能的位置是输入的数值为10,刚好是数组第一个元素;可能是数组a中间的某个数值;可能是数组a最好一个数值25,整个处理都不相同)
13、(排序)已知一组字符串a[20]="yyzzabcdefYYZZABCDE";编一程,将其中的小写字母换成下一个字母,即a换成b,b换成c,z换成a。然后对数组a[20]从小到大排序。
14、已知一组字符串a[20]="yyzzabcdefYYZZABCDE";编一程,将其中的大字母换成下一个字母,即A换成B,B换成C,Z换成A。然后对数组a[20]从小大到小排序。
15、已知有20个两位正整数的数组a[20]={10,11,12,13,14,19,18,17,16,15,20,21,22,23,24,29,28,27,26,25},编一程,将数组a中满足:个位数减十位数>0的元素赋给数组b[],并对数组b[]从小到大排序打印。例:12,13。
16、(排序)有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
17、(矩阵与二维数组)将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。
例如,二维数组中的数据为:
333333
444444
555555
则一维数组中的内容应是:
334455334455334455
18、假定输入的字符串中只包含字母和*号。请编写程序,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G
19、求3×3矩阵的最小值并输出。例如,当矩阵为:123495786则最小值为:1(进制转换问题)
20、一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,求这个三位数。
(函数类题目)
21、写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
22、(函数+数组)写一个函数,求一维数组a中的奇数个数,在主函数中调用函数并输出结果。
23、写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。在主函数中调用该函数并输出,如输入1990,应输出“1990”。
24、(函数+字符串)编写一个函数,由实参传来一个字符串,统计此字符串中字母的个数,在主函数中输入字符串以及输出结果。
25、(函数+数组)写一个函数,求出a所指数组中最大数(规定最大数不在a[0]中),并且将最大数和a[0]中的数对调。在主函数中调用函数并输出结果,例如数组中原有的数为:7、10、12、0、3、6、9、11、5、8,输出的结果为:12、10、7、0、3、6、9、11、5、8。(指针+函数类题目)
26、有一个数组int p[nSize],要求写一个函数:
V oid myfunc(int*p,int nSize);
将p中的0都移至数组末尾,将非0的移至开始(保持原来的顺序不变)。例如:
A原来是:1,0,3,4,0,-3,5
经过myfunc处理后为:1,3,4,-3,5,0,0
27、编写函数void fun(int x,int*pp,int*n),它的功能是:求出x的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回(假设pp指向足够大的空间)。如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。