C语言实验6例析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C程序设计》实验报告实验序号:实验6    实验项目名称:函数学  号1510032143姓  名肖雪琴专业、班15数学实验地点数理系机房指导教师王琛晖实验时间教师成绩等级评定一、实验目的及要求1、掌握函数的定义方法和使用;2、掌握函数的参数传递方式——值传递和地址传递3、掌握函数的嵌套和递归调用4、领会使用函数编程的好处和思路5、学习自己调试程序二、实验设备(环境)及要求多媒体机房,单人单机,独立完成三、实验内容与步骤实验内容:1、编程实现p202 8.22、编写一个函数,能计算该年月日是当年的第几天。在主函数中输入年月日,调用这个函数,然后输出结论。3、主函数形如下面:void main(){int a[6],m;enter_a(a);/*任意输入6个整数到数组a*/m=enter_m();/*任意再输入一个整数到m中*/chuli(a,m);/*该处理函数主要是能判断该整数m是否在数组中,如果在就输出在数组中的第几个位置,如果不在数组中,输出判断结果,该整数不在数组中*/}下面请补充3个子函数的定义,把程序补充完整。4、按202习题8.5编写程序。(注意,这题也是以数组为参数)写出一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。注意:是反序存放,不是反序输出 提示:对称位置交换元素5、学习用递归的方法编写函数f(n)=f(n-1)*n,其中f(1)=2.求该数列的前20项,每3项换一行。提示:数据如果太大,超过了int型,使用float型,输出可以用%.0f控制6、试试一个简单的函数调用的程序和多文件编译。(可以以实验6中第3题为例子进行多文件编译)。多文件编译过程和每个文件的代码请记录在实验报告中。四、实验步骤和结果(如运行有错误,请指出)1.编程实现p202 8.2#includestdio.h#includemath.hvoid main(){inta,b,c,disc;void denggen(inta,intb,int c);void shuanggen(inta,intb,int c);void fugen(inta,intb,int c);printf(请输入二元一次方程的系数,空格隔开:);scanf(%d %d %d,a,b,c);disc=b*b-4*a*c;if(disc==0) denggen(a,b,c);if(disc0) shuanggen(a,b,c);if(disc0) fugen(a,b,c);}void denggen(inta,intb,int c){float x;x=(float)(-b/(2*a));printf(有两个相等的根:x1=x2=%.3f\n,x);}void shuanggen(inta,intb,int c){int disc;float x1,x2;disc=b*b-4*a*c;x1=(float)(-b+sqrt(disc))/(2*a);x2=(float)(-b-sqrt(disc))/(2*a);printf(有两个不相等的根:x1=%.3f,x2=%.3f\n,x1,x2);}void fugen(inta,intb,int c){int disc;disc=b*b-4*a*c;float m,n;m=(float)-b/(2*a);n=(float)(sqrt(-disc))/(2*a);printf(有两个不相等的复根:x1=%.2f+%.2fi,x2=%.2f-%.2fi\n,m,n,m,n);}2.编写一个函数,能计算该年月日是当年的第几天。在主函数中输入年月日,调用这个函数,然后输出结论。#includestdio.hvoid main(){intyear,month,day,sum;int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inttianshu(intyear,intmonth,int day);printf(请任意输入年月日,空格隔开:);scanf(%d %d %d,year,month,day);sum=tianshu(year,month,day);printf(这是%d年的第%d天\n,year,sum);}inttianshu(intyear,intmonth,int day){int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};intsum,i;sum=day;for(i=0;imonth;i++)sum+=months[i];if((year%4==0year%100!=0||year%400==0)month3)sum++;return sum;}注意:要将sum=t

文档评论(0)

2226657222 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档