版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第七阶段上机,函数(I),2,作业点评,抽查学员作业后,让部分同学上台演示,公布参考答案。 对共同性的问题进行点评,特别对多思路进行点评。,3,1、编写一个C程序,用于接收数组的值,并通过指向数组的指针将它以左右反转的次序输出,要求用指向数组的指针实现,程序的输出结果如下:,作业,4,#include void main() int i, element5; int *ptr; ptr = element; printf(n请输入5个整数:); for(i=0;i=0;i-) printf( %d,*(ptr+i); printf(n); ,关键代码:,作业,5,2、编写一个C程序,用于接
2、收两个数组的值,将这两个数组的值依次相加保存在第三个数组中,要求用指向数组的指针实现。输出结果如下所示:,作业,6,#include void main() int i; int num15, num25, num35; int *ptr1, *ptr2, *ptr3; ptr1 = num1; ptr2 = num2; ptr3 = num3; printf(n请输入 num1 的值:n); for(i = 0; i 5; i+) scanf(%d, ,关键代码:,作业,7,3.有一个已经排好序的数组。要求输入一个数,在数组中查找是否有这个数,如果有,将该数从数组中删除,要求删除后的数组仍然
3、保持有序;如果没有,则输出“数组中没有这个数!”,#include void main() int a10=1,4,6,9,13,16,19,28,40,100; int number,i,j; printf(n 原始数组为:n); for(i=0;i10;i+) printf(%5d,ai); printf(n); printf(输入要删除的数:); scanf(%d, ,if(i10) for(j=i;j10;j+) aj=aj+1; printf(n 删除%d后的数组为:n,number); for(i=0;i9;i+) printf(%5d,ai); printf(n); else p
4、rintf(n 数组中没有这个数!n); ,作业,关键代码:,8,运行结果:,作业,9,有一个已经排好序的数组。要求输入一个数,在数组中查找是否有这个数,如果有,将该数从数组中删除,要求删除后的数组仍然保持有序;如果没有,则输出“数组中没有这个数!”,作业点评,#include void main() int a10=1,4,6,9,13,16,19,28,40,100; int number,i,j; printf(n 原始数组为:n); for(i=0;i10;i+) printf(%5d,ai); printf(n); printf(输入要删除的数:); scanf(%d,i+) ,关键
5、代码:,if (ai=number) break; if(i10) for(j=i;j10;j+) aj=aj+1; printf(n 删除%d后的数组为:n,number); for(i=0;i9;i+) printf(%5d,ai); printf(n); else printf(n 数组中没有这个数!n); ,10,目标,练习使用内置函数 练习使用自定义函数,本阶段重点是练习使用内置函数和自定义函数编写程序,11,指导部分,练习1:内置函数的使用,问题说明:编写一个程序,要求用户输入一个数,使用内置函数pow() 求该数从1到10次幂的值,然后求出所有次幂的和。,解题思路: 可以通过调用
6、内置函数pow()完成求幂运算。 由于该函数在math.h中定义,需要包含头文件math.h。 根据pow()函数的定义,其返回值为double类型。要计算某个数从110次幂,需要使用循环,由于循环次数固定,建议使用for循环。,检查学员的进度:,12,#include #include void main() int n,i; double power,sum=0; printf(请输入一个数:); scanf(%d, ,关键代码:,指导部分,13,执行效果:,指导部分,14,指导部分,练习2:练习使用自定义函数,问题说明:假如银行只提供1年以上(包括1年)的定期存款,所有1年以上存款的利率
7、为3%。编写一个函数,通过用户输入的存款金额和存期,计算存款的利息以及本息总额。,解题思路: 根据问题描述可知:存款金额和存期都是在子函数中输入,计算并显示结果也是在子函数中完成,所以定义一个无参数和返回值的函数即可。 该函数的算法非常简单,只需要判断用户输入的存期是否大于等于1,如果是,只要将存款金额乘以0.3即可得到利息;如果存期小于1,则利息为0。在main()函数中调用该函数。,15,关键代码:,检查学员的进度:,#include void sim_int_fn(); void main() printf(n 计算利息); printf(n-); sim_int_fn(); void
8、sim_int_fn() int no_yr; float pri_amt; float sim_int, tot_amt; printf(n请输入存款金额:n); scanf(%f, ,指导部分,16,执行效果:,指导部分,17,1:编写一个程序,用与接收用户输入的5个数,并计算这5个数的平均数,最后将计算结果返回。在main()函数中调用计算平均值的函数,并输出结果,要求输出的平均数精确到两位小数.,练习部分,解题思路: 在main()函数中直接调用求平均数的函数 平均数=和/个数,检查学员的进度:,18,#include float average (); void main() flo
9、at ave; ave = average(); printf(平均值为: %3.2fn,ave);/ 平均值通过被调函数返回 float average () float v, w, x, y, z; printf(请输入五个数: n);/输入五个数 scanf(%f%f%f%f%f,/ 计算平均值 ,关键代码:,练习部分,19,执行效果:,练习部分,20,练习部分,2:编写三个函数分别完成十进制到二进制、八进制、十六进制的转换。在主函数中,根据用户的选择调用相应的函数完成相应的功能,用户可以重复选择功能,直到输出0退出。,检查学员的进度:,解题思路:进制转换算法:1.如果已知一个十进制数n
10、um,转换为k进制数,一般采用除余法:pcount=num%k;num=num/k;count+; 2.其中p是一整型数组,用来保存转换为k 进制后各位的数字;3.直到um=0,算法结束,否则转为1;4.由于按照这种算法计算后,数组中保存的数字是从低位到高位,因此需要倒序输出数组元素。5.对于十六进制的转换需要考虑,位数中1015分别用AF表示,可以用switch语句完成,21,#include void ex10to2(); void ex10to8(); void ex10to16(); void main() int select; do printf(“n 0、退出 1、十进制二进制
11、2、 十进制八进制 3、十进制十六进制n); printf(请选择功能:); scanf(%d, ,关键代码:,练习部分,22,void ex10to2() int p10; int num; int i,count=0; printf(请输入一个十进制整数:); scanf(%d, ,void ex10to8() int p10; int num; int i,count=0; printf(请输入一个十进制整数:); scanf(%d, ,关键代码:,练习部分,23,void ex10to16() int p10; int num; int i,count=0; printf(请输入一个十进制整数:); scanf(%d,i-) ,练习部分,if(pi9) switch(pi) case 10 : printf(A); break; case 11 : printf(B); break; case 12 : printf(C); break; case 13 : printf(D); break; case 14 : printf(E); break; case 15 : printf(F); break; else printf(%d,pi); prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏南京市玄武区卫生健康委员会所属部分事业单位招聘24人笔试模拟试题及答案解析
- 2026四川德阳绵竹市金申投资集团有限公司第一批招聘40人考试备考试题及答案解析
- 小学语文教学中汉字结构谜语改编与识字能力提升课题报告教学研究课题报告
- AI辅助的高中化学化学计量学动态模拟教学实践课题报告教学研究课题报告
- 2026上海医学院财务办公室招聘集中收付报销审核专员岗位1名考试参考题库及答案解析
- 2026贵州黔东南州三穗县农业农村局招募特聘农技员6人笔试备考试题及答案解析
- 2026安徽池州市贵池区祥云路初中选调教师13人考试备考题库及答案解析
- 2026云南高创人才服务有限公司招聘6人考试备考试题及答案解析
- 2026广东阳江高新区人民医院招聘7人考试备考试题及答案解析
- 2026北京四中雄安校区第二实验学校第四批招聘教职人员7人考试备考试题及答案解析
- 清吧包场活动方案策划
- 碳中和知识科普
- 洗浴服务礼仪培训
- 18.5万吨年乙丙橡胶生产工艺设计
- 2025中国五矿集团(黑龙江萝北石墨园区)石墨产业有限公司招聘笔试历年常考点试题专练附带答案详解2套试卷
- 2026年国家电网招聘之通信类考试题库300道及完整答案【历年真题】
- 国开2025年秋《农业推广》实训报告
- 江苏省软科学课题申报书
- 卫生院患者发生输液反应应急预案及处理流程
- 深基坑安全管理培训课件
- 特警相关知识课件
评论
0/150
提交评论