《高级程序设计》实习基础类编程题目。
顺序结构类题目)
1、(数字处理)输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积。
2、要将"program"译成密码,译码规律是:用原来字母后面的第5个字母代替原来的字母.例如,字母"a"后面第5个字母是"f"."f"代替"a"。(选择结构类题目)
3、编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中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=28,则28是一个完全数,编写一个程序求2-1000内的所有完全数。
9、(穷举算法)(钱币问题)在日常生活中常常需要用一些较小面额的钱币去组合出一定的币值。现有面值为1元、2元和5元的钞票(假设每种钞票的数量都足够多),从这些钞票中取出30张使其总面值为100元,问有多少种取法?每种取法的各种面值的钞票各为多少张?
数组类题目)
10、已知一组字符串a[10]=”abcdefghi”,将其中的小写字母改写成大写字母。
11、已知有20个两位正整数的数组a[20]=,编一程,将数组a中满足:个位数加十位数是偶数的元素赋给数组b,并对数组b从小到大排序打印。例:11,13。
12、(排序)已知有20个两位正整数的数组a[20]=,从键盘输入上述数组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]=,编一程,将数组a中满足:个位数减十位数》0的元素赋给数组b,并对数组b从小到大排序打印。例:12,13。
16、(排序)有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
17、(矩阵与二维数组)将m行n列的二维数组中的数据,按列的顺序依次放到一维数组中。
例如,二维数组中的数据为:
则一维数组中的内容应是:
18、假定输入的字符串中只包含字母和*号。请编写程序,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
例如,字符串中的内容为:**a*bc*def*g***删除后,字符串中的内容应当是:**a*bc*def*g
19、求3×3矩阵的最小值并输出。例如,当矩阵为:123495786则最小值为:1(进制转换问题)
20、一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,求这个三位数。(函数类题目)
21、写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。(函数+数组)写一个函数,求一维数组a中的奇数个数,在主函数中调用函数并输22、
出结果。23、写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。在主函数中调用该函数并输出,如输入1990,应输出“1990”。
函数+字符串)编写一个函数,由实参传来一个字符串,统计此字符串中字母的个24、
数,在主函数中输入字符串以及输出结果。
函数+数组)写一个函数,求出a所指数组中最大数(规定最大数不在a[0]中),并25、
且将最大数和a[0]中的数对调。在主函数中调用函数并输出结果,例如数组中原有的数为,输出的结果为。(指针+函数类题目)
26、有一个数组intp[nsize],要求写一个函数:voidmyfunc(int*p,intnsize);
将p中的0都移至数组末尾,将非0的移至开始(保持原来的顺序不变)。例如:a原来是:1,0,3,4,0,-3,5
经过myfunc处理后为:1,3,4,-3,5,0,0
27、编写函数voidfun(intx,int*pp,int*n),它的功能是:求出x的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回(假设pp指向足够大的空间)。如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。
28、编一个函数fun(int*a,intn,int*odd,int*even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给了数组中数据的个数:利用指针odd返回奇数之和,利用指针even返回偶数之和。
例如:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。
29、编写一个函数intflength(char*s),计算字符串s的长度(文件操作类题目)
30、有5个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号、姓名、3门课成绩),计算平均成绩,将原有数据和计算出的平均分数存放在磁盘文件”中。(函数类题目)
31、(函数+数组)写一个函数,求一维数组a中的最小元素及其下标。例如,当一维数组a中的元素为:1,4,2,7,3,12,5,34,5,9,程序的输出应为:
theminis:1,posis:0。
用主函数调用这个函数,并输出结果。
32、写一个判完数的函数,在主函数输入一个整数,输出是否为完数的信息。所谓完数,就是指一个正整数,它的各因数之和等于其自身。例如,28=1+2+4+7+14,28是一个完数。
33、(函数+数组)写一个函数,求4*4矩阵的第2行(以下标为行数)元素的和。在主函数中调用这个函数并输出结果。
34、写一个函数,求[1,m](1035、编写函数voidfun(intm,int*sum),功能是:求一个三位整数m的每位数之和sum,m的值由键盘输入。
36、(指针+函数+数组)编写函数doublefun(double*a),求一维数组a中所有元素的平均值。
37、编写函数voidfun(char*str1),将字符串中所有的小写字母转换为大写,其它字符不变(不使用转换函数)。
38、编写函数intfun(char*str1),统计字符串中元音字母’a’、’e’、’i’、’o’、’u’的个数。
结构体类题目)
39、编写程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
40、学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
41、人员的记录由编号和出生年、月、日组成,n名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。
42、已知学生的记录由学号和学习成绩构成,n名学生的数据已存入结构体数组a中。请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分)。
(指针+函数类题目)
43、编写函数voidfun(char*s,intn),求[1,n]之间所有不能被3整除的整数之和s,n的值由键盘输入。
44、编写函数intfun(char*a,intn),计算机数组a中最小元素的下标并返回。45、编写函数fcopy(char*s,char*t),实现字符串复制(不使用字符串拷贝函数)。46、编写函数fncopy(char*s,char*t,intn),实现将字符串s中的前n个字符复制到。
字符串t中。
47、编写函数voidfun(char*s,intn,char*t,intm),实现功能将字符串s(包含n个字符)中从m个字符开始的字符复制到另外一个字符串t中。(结构体+文件类题目)
48、程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生书数据,并按照从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
(文件操作类题目)
49、从键盘输入一个字符串,将其中的小写字母全部转换为大写字母,然后输出到一个磁盘文件“中保存,输入的字符以“!”结束。
50、有两个磁盘文件“a”和“b”,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件“c”中去。
基本要求:1)所有程序命名为“题号。c”。
2)提交基础类题目时,将所有扩展名为“.c”的文件拷贝在一个文件夹,打包后。
提交。3)前30道题目为必做题,每位同学都需完成,占60%。
4)后20题为选做题,完成31题~40题,占10%;完成41题~50题,占10%。(5)综合题占20%。
高级程序设计
信息与通信工程学院。高级程序设计 实验报告。学号 s314080098 专业 信息与通信工程 学生姓名 李长玺。任课教师 杨志钢。2015年3月。实验一。一 任务描述。1 设计一个带头结点的单链表,并随机生成一组序列,存入该单链表中。2 针对上一步生成的单链表,编写算法,将其中的数据元素按照值递增的...
高级程序设计
高级程序设计 是为电子商务专业学生开设的专业基础课程。开设高级程序设计课程的目的是,进行程序设计和面向对象方法的基础训练 应用新技术开发各种适用于网络环境的应用程序。本课程前导课程为 无。本课程后续课程为 旅游管理软件开发技术 旅游移动客户端设计与应用 景区app设计与应用。本课程的功能是通过课堂教...
高级程序设计基础 C语言 一
一 单项选择共30题 共计60分 第1题 2.0分 以下选项中合法的实型常数是 a 5e2.0 b e 3c 2e0 d 1.3e 第2题 2.0分 先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是 a c a b c a c c 97 d c 97 第3题 2.0分 下列字符序...