C语言第七阶段上机(函数I).ppt_第1页
C语言第七阶段上机(函数I).ppt_第2页
C语言第七阶段上机(函数I).ppt_第3页
C语言第七阶段上机(函数I).ppt_第4页
C语言第七阶段上机(函数I).ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论