资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
实验工程 ( 03 ) 实验报告工程名称编写简单程序指导教师曹晶华实验室A7-315 实验日期2012年 3月 31 日学生姓名程思航成绩实验步骤(算法、代码、方法)(1)求一元二次方程ax2+bx+c=0 的根。其中系数 a(a0)、b、c 的值由键盘输入。分析:输入系数 a(a0)、b、c 后,令 delta= b24ac, 结果有三种情况:处理:若 delta=0 ,方程有两个相同实根;若 delta0 ,方程有两个不同实根;若 delta0 ,方程无实根。输出:方程有两个相同实根为,方程有两个不同实根分别为,方程无实根代码:#include #include using namespace std 。void main() / 因为不是整形,所以不可用int float a,b,c,delta。 float x1,x2,x。 cout一般方程: a2+bx+c=0endl 。 cout请分别输入系数a,b,c 的值( a0):abc 。/ 先输入 在列等式否则会显示没有初始化 delta=b*b-4*a*c。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 10 页 if(delta0)cout该方程无实根! endl 。 else if(0=delta)x=(-b)/2/a。cout 该方程有两个相等时实根:x1=x2=xendl。 elsex=sqrt(delta)。x1=(-b+x)/2/a。x2=(-b-x)/2/a。 cout该方程有两个不相等时实根:x1=x1 x2=x2endl。 (2)某商店出售四种商品:A 商品每公斤 2.75 元;B商品每个 12.5 元;C商品每 M26.8元;D商品每台 512 元,超过 3 台优惠 10% ,超过 8 台优惠 15% 。为其设计一个计算价格的程序(输入购买四种商品的数量,计算出应付款金额并显示付款金额明细单)。分析输入: 购买商品 A,B,C ,D 的数量 countA,countB,countC,countD。处理: 商品付款金额 sum=A商品数量 *单价+B商品数量 *单价+C商品数量 *单价+D商品数量 *单价若 D商品数量小于 3,则 D商品的总金额为单价 * D 商品数量;若 D商品数量大于 3 而小于 8,则 D商品的总金额为优惠10% 后的单价 *实际数量;若 D商品数量大于于 8,则 D商品的总金额为优惠15% 后的单价 *实际数量;输出: 计算后的总金额sum 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 10 页代码: #include using namespace std 。void main() double countA,countB,countC,countD。 double sumA,sumB,sumC,sumD 。double sum。coutcountA。 coutcountB。coutcountC。coutcountD。 sumA=countA*2.75。 sumB=countB*12.5。 sumC=countC*26.8。 sumD=countD*512。sum=sumA+sumB+sumC+sumD。 if(countD=8)sumD *=0.85 。 elseif(countD=3)sumD *=0.9 。 。 coutA 商品 countA 公斤,共 sumA 元endl。 coutB 商品 countB 个, 共 sumB 元endl。 coutC 商品 countC M, 共 sumC 元endl。 coutD 商品 countD 台, 共 sumD 元endl。 cout 总计: sum 元钱。 endl。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 10 页(3)输入一个 int型的百分制成绩d,程序负责将其转换为等级字母并输出。若d 处于 90 到 100 之间,输出“ grade=A”;若 d 处于 80 到 89 之间,输出“ grade=B”;若 d 处于 70 到 79 之间,输出“grade=C”;若d 处 于 60 到 69 之间, 输 出 “ grade=D”; 若d 为 其 他分 数值 时, 输出“grade=E”。若输入数据不处于0100 之间时,提示出错信息后结束程序。算法分析将百分制成绩被10 除后的值记为 m ,结果只能在 10,9,8,7,6,5中取值。可使用case 语句完成相应的操作,输入其值对应的等级信息。算法描述如下:M =10或 M=9: 输出“ A”M=8 :输出“ B”M=7 :输出“ C ”M=6 :输出“ D ”M= 其他:输出“ E”若输入数据不处于0100之间时,提示出错信息后结束程序。代码: #include using namespace std 。int main() int i,score。coutscore 。if(score100 | score0)cout分数值必须在 0 到 100之间! 。 elsei=score/10。switch(i) case 10: case 9: coutGrade=A!endl。 break 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 10 页 case 8: coutGrade=B!endl。 break 。 case 7: coutGrade=C!endl。 break 。 case 6: coutGrade=D!endl。 break 。 default: coutGrade=E!endl。/ break。(这个 break 可有可无) return 0。 (4) 运输公司对所运货物实行分段计费。设运输里程为s,则运费打折情况如下:s250 不打折扣250=s500 2% 折扣500=s1000 5% 折扣精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 10 页1000=s2000 8% 折扣2000=s3000 10% 折扣3000=s 15% 折扣2000=s3000 10% 折扣1000=s2000 8% 折扣500=s1000 5% 折扣250=s500 2% 折扣s250 不打折扣代码: #include using namespace std 。int main() int c。double s,p,w,d 。float f。coutpws。c=s/250。f=0。switch(c) default:d=0.15。f+=p*w*(s-3000)*(1-d) 。case 8:case 9: case 10:case 11: d=0.1。f+=p*w*(s-2000)*(1-d) 。case 4:case 5:case 6:case 7: d=0.08。f+=p*w*(s-1000)*(1-d) 。case 2:case 3: d=0.05 。f+=p*w*(s-500)*(1-d) 。case 1: d=0.02 。f+=p*w*(s-250)*(1-d) 。case 0: d=0 。 f+=p*w*s*(1-d) 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 10 页 cout运输单价 :p 重量 :w 里程 :sendl。cout 折扣后运费 :fendl 。return 0。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 10 页实验结果(结论及分析)第一题结果第二题结果第三题结果精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 10 页精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 10 页第四题结果教师评语精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 10 页
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号