资源描述:
《地大c语言课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言课程设计学号:20131002585班级:052132班姓名:某某某指导老师:刘然上机地点:北区315机房1.已知银行整存整取存款不同期限的月息利率(采用复利方式,即利滚利)分别为0.63%期限一年0.66%期限二年月息利率=0.69%期限三年0.75%期限五年0.85%期限八年要求输入存钱的本金和期限(以整数年为单位),求到期时能从银行得到的利息与本金的合计。提示:可以用嵌套的if-else结构或switch结构实现,核心函数pow(1+月利率,月份)。请思考年份是四、六、七或八年以上的情况。#include#includedoublefun(int
2、m,doublen,doublea)//接受三个参数,m为年份,n为月利率,a为本金{//返回m年后的本息和doubletem;tem=pow(n+1,m*12);returna*tem;}intmain(void){intn;doublem;printf("pleaseinputtheyearsandthemoneys");scanf("%d,%lf",&n,&m);while(n>0)//n为当前剩余年数,n为零跳出循环{if(n>=8)//保证最大利息,从最长存储年份开始检测{m=fun(8,0.0085,m);//更新本金n=n-8;//更新年份}elseif(n>=5){m=f
3、un(5,0.0075,m);n=n-5;}elseif(n>=3){m=fun(3,0.0069,m);n=n-3;}elseif(n>=2){m=fun(2,0.0066,m);n=n-2;}elseif(n>=1){m=fun(1,0.0063,m);n=n-1;}}printf("thePrincipalandinterestis%.3lf",m);return0;}2.简单计算器。用switch语句编写一个程序计算表达式:data1opdata2的值。其中op为运算符+、-、*、/。#includeintmain(void){doubledata1,data2
4、,temp;charop;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",data1,op,data2,temp);return0;}3.编写程序,用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根。提示:用do-while
5、语句实现。二分法的计算步骤:准备计算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即为所求的根。#include#defineabs(a
6、,b)((a)-(b))>0?((a)-(b)):((b)-(a))//定义宏函数实现求绝对值doublef(doublex){return2*x*x*x-4*x*x+3*x-6;}//求f(x)intmain(void){doublea,b,m;a=-10.0;b=10.0;m=(a+b)/2;while(abs(a,b)>0.0001)//当精度满足要求时跳出{//二分法解方程if(f(m)==0)break;//求得解时跳出printf("x=%.5lft
7、a-b
8、=%.5lf",m,abs(a,b));//输出当前x值,以及
9、a-b
10、if(f(m)*f(a)>0)a=m;els
11、eb=m;m=(a+b)/2;}printf("theansweris%.5lf",m);return0;}4.编写程序,给定一个整数i,请求出另一个整数j,使i和j在用8位二进制表示时互为逆序。例如:给定i=3时,应得到j=192(3的二进制为:00000011,192的二进制为11000000)。提示:十进制整数转换为二进制整数用“除2求余”法。二进制整数转换为十进制整数用“按权相加”法。#inclu