程序设计基础实验报告Word格式.docx
《程序设计基础实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础实验报告Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
![程序设计基础实验报告Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/24/001b685e-901e-49da-a437-cbb27c34095b/001b685e-901e-49da-a437-cbb27c34095b1.gif)
,求
。
四、实验要求
1.将上机验证正确的源代码写到实验报告上。
2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。
3.按时提交实验报告。
实验二分支结构程序设计-1
1.熟练掌握关系表达式的使用。
2.熟练掌握使用else-if语句实现多分支结构程序设计。
1.输入x,计算并输出下列分段函数sign(x)的值。
2.输入月薪salary,输出应交的个人所得税tax(保留2位小数)。
按照2011年开始实行的新的个人所得税法,计算公式为:
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=2775
当83500<
salary时,rate=45%、deduction=13505
3.输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数。
成绩等级分为五分级,分别是A(90-100),B(80-89),C(70-79),D(60-69)和E(0-59)。
2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。
实验二分支结构程序设计-2
1.熟练掌握关系表达式和逻辑表达式的使用。
2.熟练掌握字符型数据的输入输出。
3.熟练掌握用嵌套的if语句或switch语句实现多分支结构程序设计。
4.熟练掌握switch语句中的break语句的作用。
5.掌握使用断点调试程序的方法。
三、实验内容与教学过程
1.查询水果的单价。
有4种水果,苹果(apple),梨(pear),橘子(orange)和葡萄(grape),单价分别是3.00元/千克,2.5元/千克,4.10元/千克和10.20元/千克。
在屏幕上显示以下菜单(编号和选项),用户可以连续查询水果的单价,当查询次数超过5次时,自动退出查询;
不到5次时,用户可以选择退出。
当用户输入编号1-4,显示相应水果的单价(保留一位小数);
输入0,退出查询;
输入0-4之外的其它编号,显示价格为0。
[1]apple[2]pear[3]orange[4]grape[0]exit
2.输入一个整数x,判断x能否被3、5、7整除,并输出以下信息之一。
(1)能同时被3、5、7整除。
(2)能被其中两个数整除。
(3)能被其中一个数整除。
(4)不能被3、5、7任意一个数整除。
3.输入五级制成绩(A-E),输出相应的百分制成绩区间(0-100)。
五级制成绩对应的百分制成绩区间为:
A(90-100),B(80-89),C(70-79),D(60-69)和E(0-59)。
实验三循环结构程序设计-1
1.熟练使用for、while和do-while语句实现简单的循环程序。
2.理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处。
3.掌握使用Debug菜单调试程序的方法。
1.输入一个正整数n,再输入n个整数,输出最小数。
2.输入一个整数,求它的位数以及各位数字之和。
例如,123的位数是3,各位数字之和是6。
3.在中国数学史上,广泛流传着一个“韩信点兵”的故事:
据说韩信在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
按从1至6报数,记下最末一个士兵报的数为5;
按从1至7报数,记下最末一个士兵报的数为4;
按从1至11报数,记下最末一个士兵报的数为10;
你知道韩信至少有多少兵?
实验三循环结构程序设计-2
1.掌握break语句的使用。
2.掌握continue语句的使用。
1.从键盘上输入一个正整数,判断该数是否为素数。
2.输入一个正整数n,输出2/1+3/2+5/3+8/5+…的前n项之和,保留2位小数。
(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)。
3.输入两个正整数a和n,求a+aa+aaa+aaaa+aa…a(n个a)之和。
例如,输入2和3,输出246(2+22+222)。
实验三循环结构程序设计-3
1.熟练掌握嵌套循环程序设计。
2.掌握C程序的调试方法。
1.将一笔零钱(大于8分,小于1元,精确到分)换算成1分、2分和5分的硬币组合。
输入金额,输出共有多少种换法。
2.输入两个正整数m和n(0<
m<
n<
1000),输出m到n之间的所有水仙花数。
水仙花数是指各位数字的立方和等于其自身的数。
3.计算2-100之间的所有素数之和。
实验三循环结构程序设计-4
1.输入一个正整数n(n<
7),输出n行由大写字母A开始构成的三角形字符阵列图形。
例如输入的正整数是4,则显示一个4行直角三角形,第一行“ABCD”,第二行“EFG”,第三行“HI”,第四行“J”。
2.显示一个5行的等腰三角形,第一行有一个星号,第二行有三个星号,第三行有五个星号,第四行有7个星号,第五行有9个星号。
3.显示一个5行的菱形,第一行有一个星号,第二行有三个星号,第三行有五个星号,第四行有3个星号,第五行有1个星号。
实验四函数程序设计-1
1.熟练掌握函数的定义和调用。
2.熟练掌握使用函数编写程序。
3.熟练掌握函数的实参、形参和返回值的概念及使用。
要求定义和调用函数sign(x)实现分段函数。
2.输入一批正整数(以零或负数为结束标志),求其中所有奇数的和。
要求定义和调用even(n)函数判断整数的奇偶性,当n为偶数时返回1,否则返回0。
3.给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。
要求定义和调用函数dist(x1,y1,x2,y2)计算两点间的距离。
4.输入两个正整数m和n(1≤m,n≤500),统计并输出m和n之间的素数的个数以及这些素数之和。
要求定义和调用函数prime(m)判断m是否为素数。
实验四函数程序设计-2
1.掌握局部变量与全局变量在函数中的运用。
2.掌握单步调试进入函数和跳出函数的方法。
1.读入一个整数,统计并输出该数中“2”的个数。
要求定义和调用函数countdigit(number,digit),其功能是统计整数number中数字digit的个数。
例如:
countdigit(12292,2)的返回值为3。
2.输入两个正整数m和n(1≤m,n≤1000),输出m-n之间的所有满足各位数字的立方和等于它本身的数。
要求定义和调用函数is(number)判断number的各位数字之立方和是否等于它本身。
3.根据下列公式可以计算出从n个不同元素中取出m个元素(m<
=n)的组合数。
编写程序输入两个正整数m和n(m≤n),计算并输出组合数。
要求定义和调用函数fact(n)计算n!
,函数类型为double。
实验四函数程序设计-3
1.掌握嵌套函数的使用方法。
2.掌握递归函数的编程方法。
1.求1!
+2!
+…+10!
,要求定义并调用递归函数fact(n)计算n!
2.用递归方法编写求斐波那契数列项的函数,返回值为整型,并写出相应的主函数。
3.输入一个正整数n,将其转换为二进制后输出。
要求定义并调用函数dectobin(n),它的功能是输出n的二进制。
实验五数组程序设计-1
1.熟练掌握一维维数组编程的方法。
2.熟练掌握排序算法。
3.掌握一维数组的调试方法。
1.输入一个正整数n(1<
n≤10),再输入n个整数,输出平均值(保留两位小数)。
2.输入一个正整数n(1<
n≤10),再输入n个整数,输出最大元素及其下标(假设最大元素唯一且下标从零开始)。
3.输入一个正整数n(1<
n≤10),再输入n个整数,将它们从大到小排序后输出。
实验五数组程序设计-2
1.熟练掌握二维数组编程的方法。
2.熟练掌握字符串的存储和操作方法。
3.掌握二维数组和字符数组的调试方法。
1.读入一个正整数(1≤n≤6),再读入n阶矩阵a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和(副对角线从矩阵的右上角到左下角的连线)。
2.读入一个正整数(0<
6),输出九九乘法表的前n*n项(将乘数、被乘数和乘积放入一个二维数组中,再输出该数组)。
3.输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串中查找该字符。
如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始);
否则输出“NOTFOUND”。
4.输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下列对应大写字母替换,其余字符不变,输出替换后的字符串。
原字母对应字母
A→Z
B→Y
C→X
D→W
…
X→G
Y→B
Z→A
实验六指针程序设计-1
一、实验目标
1.理解指针、地址和变量/数组之间的关系。
2.掌握通过指针操作数组元素的方法。
3.掌握变量地址/数组名作为函数参数的编程方法。
1.编写程序计算输入的两个实数的各与差。
要求定义一个函数sum_diff(floatop1,floatop2,float*psum,flat*pdiff),其中op1和op2是输入的两个实数,*psum和*pdiff是计算得出的和与差。
2.编写程序拆分输入实数的整数部分与小数部分。
要求自定义一个函数voidsplitfloat(floatx,int*intpart,float*fracpart),其中x是被拆分的实数,*intpart和*pfracpart分别是实数x折分出来的整数部分与小数部分。
3.定义函数voidsort(inta[],intn),用选择法对数组a中的元素升序排序。
4.在数组中查找指定元素。
输入一个正整数n,然后输入n个整数存入数组a中。
再输入一个整数x,在数组a中查找x,如果找到则输出相应的下标,否则输出“notfound”。
要求定义一个并调用函数search(list,n,x),它的功能是在数组list中查找元素x,若找到则返回相应的下标,否则返回-1。
实验六指针程序设计-2
1.掌握通过指针操作字符串的方法。
2.掌握与字符串操作与关的几个库函数。
1.找出最长的字符串。
输入5个字符串,输出其中最长的字符串。
利用scanf()输入字符串。
2.删除字符串中的字符。
输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。
要求定义并调用函数delchar(c),它的功能是将字符串s中出现的所有c字符删除。
3.字符串复制。
输入一个字符串t和一个正整数m,将字符串t从第m个字符开始的全部字符复制到字符串s中,再输出字符串s。
要求用字符指针定义并调用函数strmcpy(s,t,m),它的功能是将字符串t从第m个字符开始的全部字符复制到字符串s中。
4.编程判断输入的一串字符是否为回文。
所谓回文是指顺序读和逆序读都一样的字符串。