地大c语言课程设计实验报告.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地大c语言课程设计实验报告

C语言课程设计 学号:20131002585 班级:052132班 姓名:某某某 指导老师:刘然 上机地点:北区315机房 1.已知银行整存整取存款不同期限的月息利率(采用复利方式,即利滚利)分别为 0.63% 期限一年 0.66% 期限二年 月息利率= 0.69% 期限三年 0.75% 期限五年 0.85% 期限八年 要求输入存钱的本金和期限(以整数年为单位),求到期时能从银行得到的利息与本金的合计。 提示:可以用嵌套的if-else结构或switch结构实现,核心函数pow(1+月利率,月份)。 请思考年份是四、六、七或八年以上的情况。 #includestdio.h #includemath.h double fun(int m,double n,double a)//接受三个参数,m为年份,n为月利率,a为本金 {//返回m年后的本息和 double tem; tem=pow(n+1,m*12); return a*tem; } int main(void) { int n; double m; printf(please input the years and the moneys\n); scanf(%d,%lf,n,m); while(n0)//n为当前剩余年数,n为零跳出循环 { if(n=8)//保证最大利息,从最长存储年份开始检测 { m=fun(8,0.0085,m);//更新本金 n=n-8;//更新年份 } else if(n=5) { m=fun(5,0.0075,m); n=n-5; } else if(n=3) { m=fun(3,0.0069,m); n=n-3; } else if(n=2) { m=fun(2,0.0066,m); n=n-2; } else if(n=1) { m=fun(1,0.0063,m); n=n-1; } } printf(the Principal and interest is %.3lf\n,m); return 0; } 2 .简单计算器。用switch语句编写一个程序计算表达式:data1 op data2的值。其中op为运算符+、-、*、/。 #includestdio.h int main(void) { double data1,data2,temp; char op; scanf(%lf%c%lf,data1,op,data2); switch(op) { case + :temp= data1+data2;break; case - :temp= data1-data2;break; case * :temp= data1*data2;break; case / :temp= data1/data2;break; } printf(%.3lf%c%.3lf=%.3lf\n,data1,op,data2,temp); return 0; } 3.编写程序,用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根。 提示: 用do-while语句实现。 二分法的计算步骤: 准备 计算f(x)在有根区间[a,b]端点处的值f(a),f(b) 二分 计算f(x)在区间中点(a+b)/2处的值f[(a+b)/2] 判断若f[(a+b)/2]=0,则即是根,计算过程结束。 否则,检测: 若f[(a+b)/2]与f(a)异号,则根位于区间[a,(a+b)/2]内,这时以(a+b)/2代替b; .若f[(a+b)/2]与f(a)同号,则根位于区间[(a+b)/2,b]内,这时以(a+b)/2代替a; 反复执行步骤2和3,直到区间[a,b]长度缩小到允许的误差范围之内,此时中点(a+b)/2即为所求的根。 #includestdio.h #define abs(a,b) ((a)-(b))0?((a)-(b)):((b)-(a)) //定义宏函数实现求绝对值 double f(double x) {return 2*x*x*x-4*x*x+3*x-6 ;} //求f(x) int main(void) { double a,b,m; a=-10.0;b=10.0;m=(a+b)/2; while(abs(a,b)0.0001)//当精度满足要求时跳出 {//二分法解方程 if(f(m)==0)break;//求得解时

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档