C语言课程设计实习报告.doc
文本预览下载声明
C语言课程设计实习报告
班级:83121
姓名:张弛
学号:20121000491
2014-1
题目一、
题目描述: 已知银行整存整取存款不同期限的月息利率(采用复利方式,即利滚利)分别为
0.63% 期限一年
0.66% 期限二年
月息利率= 0.69% 期限三年
0.75% 期限五年
0.85% 期限八年
要求输入存钱的本金和期限(以整数年为单位),求到期时能从银行得到的利息与本金的合计。
提示:可以用嵌套的if-else结构或switch结构实现,核心函数pow(1+月利率,月份)。
请思考年份是四、六、七或八年以上的情况。
设计思路:
(一)使用switch 选择语句)#includestdio.h
#includemath.h
void main()
{
int years;
float capital,sum;
scanf(%f %d,capital,years);
switch(years)
{
case 1:sum=capital*pow(1+0.63*0.01,12);break;
case 2:sum=capital*pow(1+0.66*0.01,24);break;
case 3:sum=capital*pow(1+0.69*0.01,36);break;
case 4:sum=capital*pow(1+0.69*0.01,48);break;
case 5:sum=capital*pow(1+0.75*0.01,60);break;
case 6:sum=capital*pow(1+0.75*0.01,72);break;
case 7:sum=capital*pow(1+0.75*0.01,84);break;
case 8:sum=capital*pow(1+0.85*0.01,96);break;
default:sum=capital*pow(1+0.85*0.01,12*years);
}
printf(%f,sum);
}
题目二、
题目描述:
简单计算器。用switch语句编写一个程序计算表达式:data1 op data2的值。其中op为运算符+、-、*、/。
设计思路:
(一)明确计算器是怎样进行计算的;
(二)细节,比如很多地方需要分号,在遇到字符时,我们应该用‘’,而不是“”;
(三Switch语句主要用于多分支选择,此题有+、-、*、/,这就是选择。使用switch 每个case对应+ - * /符号 #include stdio.h
int main()
{
float data1,data2,c;
char op;
printf(请输入表达式中两个数字data1和data2\n); //打印scanf(%f%c%f,data1,op,data2); //输入
// 打印
switch(op) //switch (){case stick:break;} 这个是个选择结构 如果 stick 则执行这一句 后面的语句{
case +:c=data1+data2;break;
case -:c=data1-data2;break;
case *:c=data1*data2;break;
case /:c=data1/data2;break;
default:printf(输入错误);break;
}
printf(%f,c);
return 0;
}
题目三
题目描述:编写程序,用二分法求方程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即为所求的根
设计思路:
(一)二分法是指在整个算法中,让计算值无限趋近于根的值,利用数学知识可知,当了两个点的结果异号时,函数的根就在这两个数之间,利用二分法可以无限的把根的范围缩小,直到可以确定为止;
(二)do-while是循环语句,先执行一次指定的循环体语句,然后判别表达式,当表达式的值为
显示全部