收藏 分销(赏)

桂林电子科技大学2021—2022学年第1学期程序设计与问题求解实验报告.docx

上传人:二*** 文档编号:4513486 上传时间:2024-09-26 格式:DOCX 页数:9 大小:109.88KB 下载积分:5 金币
下载 相关 举报
桂林电子科技大学2021—2022学年第1学期程序设计与问题求解实验报告.docx_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
桂林电子科技大学2021—2022学年 第1学期程序设计与问题求解实验报告 实验一 熟悉上机环境和顺序、选择结构程序 设计 辅导教师意见: 院 系计算机与信息平安学院 专业 物联网工程 学 号 姓名 周树华 同作 者 实验名称 实验日期 2021 年 10 月 10 日 成绩 教师签名: 一. 实验目的: 1. 了解和使用VC集成开发环境;理解顺序结构程序设计方法。 2. 掌握关系和逻辑运算表达式来表示条件;掌握分支结构程序if和switch设计方法。 二、实验内容和步骤 1. 分析并修改下面程序错误,使之能够正常运行。 (1) 错误代码一: 下面的程序是求a和b的和。用户读入a和b的值,计算出结果,并输出。 #include <stdio.h>int main() ( int a,b; int sum; sum=a+b; scanf(”%d%d”,a,b); printf(nsum=%d\nn,sum); return 0;编译环境中正确代码、运行结果截图及错误原因分析如下: 错误原因:1 .符号'scanf'后面的'a'和七'没有用'&';2.先输入才能计算,即先scanf( ”%d%d”,&a,&b),再 sum=a+b。 a*b.c a*b.cpp 7 8 9 10 11 12 5 6 7白 8 io ii曰 12 13 14 16 L0I ma i n() i n t a , b ; 5 c a n f ( " %d %d ", & a , & b ); i f ( a ■ « b ) { P r i n t f ( n a 和 b 相等 \ n M ); } else i f ( a ! » b ) { return o; } return o; 5 c a n f ( M %d %d M , & a f & b ); s u m= a ♦ b ; p r i n t f ( M s u m= %d \ n 11 / s u m); return o; H ■ 1 C:\Users\jimodewudi\Documents\a4-b.exe 98 97 sum=195 process exited after 2. 906 seconds with return value 0 祐按任意键继续.•. (2) 错误代码二: 下面的这个程序是当a和b的值相等的情况下输出“a和b相等”,而a与b的值不相等的话无输出。 #include <stdio.h>int main() { scanf("%d%d”,&a,&b); if (a==b); (printf(na 和 b 相等\n”); } return 0;r= r= 编译环境中正确代码、运行结果截图及错误原因分析如下: 错误原因:1.没有当a不等于b时的情况;没有定义a和b; 2. If后面不用加 a*b.c a*b.cpp a 与 1# i n c I u d e < s t d i o . h > ■ 1 C:\Users\jimodewudi\Documents\a 与 b相不相等.exe Process exited after 2. 386 seconds with return value 0 浦按任意键继续... SI C:\Users\jimodewudi\Documents\a与b相不相等.exe 9 9 a和b相等 Process exited after 3.103 seconds with return value 0 请按任意键继续... (3) 错误的代码三: 下面的这个程序是当a和b的值相等的情况下a与b的值同时增加1,而a与b的值不相等的话,二者的 值保持不变。 #include <stdio.h> int main() int a,b; scanf(“%d%d”,&a,&b); if (a==b)a++; b++; printf(”a=%d,b=%d”,a,b); return 0; } 编译环境中正确代码、运行结果截图及错误原因分析如下: 错误原因:没有当a不等于b时的语句 a*b.c a*b.cpp a与btB不相等.cpp TH等加 1,.cpp2 I 3 0 { 4 5 6印 7 8 9 10 - 11 11 H 13 12 - 15 13 L } 17 4 I 5 0 { 4 5 6印 7 8 9 14 - 11 15 H 13 16 - 15 17 L } 17 # i n c I u d e < s t d i o . h > ma i n () i n t a , b ; scanf(M%d%dM/&a/&b); [if (a««b){ a = a > i; b « b * 11 p r i n t f ( else i f I p r i n t f ( I return a = %d , b = %d ”,a , b) ; } (a ! = b) ■1 C:\Users\jimodewudi\Documents\相等加 1, .exe 9 9 a=10, b=10 Process exited after 2. 823 seconds with return value 0 隋按任意键继续・.・ 2. 编写程序实现以下功能 (1)计算1 + ^ + 1的值,并输出结果(保存2位小数)2 3 编译环境中正确代码、运行结果截图如下: a*b.c a*b.cpp a与b相不相等.cpp相等加1,.cpp1 + 0・5.cppma i n() ma i n() i n t □ 0 5 6 7 8 9 10 11 12 l n # i n c I u d e < 5 t d i o . h > float a, b,c,d; a « i; b = i . o / 2 ; c = i . o / 3 ; d « a ♦ b ♦ c ; printf(H %. return o; ■ 1 1.83 Process exited after 0.03389 seconds with return value 0 请按任意键继续.・. (2)身高预测 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析说明,影响小孩成人 后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相 关。 设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)x0.54cm 女性成人时身高=(faHeightx0.923 + moHeight)/2cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%o编程 从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高 (用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports 存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。 编程要求:有用户输入输出提示信息。 编译环境中正确代码、运行结果截图如下: a*b.c a+b.cpp a与b相不相等.cpp相等加1,身高.cpp身高2cppi n c I u d e < s t # I n c I u d e < s t10 10 14曰 15 工6 ■ 17 H 18 19 - 20白 24 0 25 25 - 27 28 B 29 3。- 31 32 B 33 33 - 35 34 H 37 35 - 39 40白 } { } { } { } ma i n ports’ d i e 1 g h t , mo He n M , &f a He i n ” , & mo H e i n" , &s e x ); n M t &s p o r t ,& d i e t ); g h t ♦ mo He i e i g h t * o . 9 && s p o r 2 f M , wo ma n t h & 9 0a else i f ( 5 e x « « ' M' && sport5=»' N' p r i n t f ( M %. 2 f M f ma n ); else i f p r i n t f ( else i f ( s e else i f ( s e x « »' F'&& sports if", wo ma n * 1. 02); && &&sports= = ' Y' &&d i e t n * 1 02); && sports-®* N' && 015); sports-®' N' && 。15); else i f ( s e x « «' F'& & sports»»' Y p r i n t f ( ”%. 2 f 11 , woman*woma n*o o 2 ♦ wo ma else i f ( 5 e x = = ' F'&& sport5= = * Y o• 015); p r i ntf( n %. 2 f n t ma n ♦ ma n * o . o 2 ♦ ma n * o . 015); 44return o: ■1 C:\Users\jimodewudi\Documents\# 高.exe 175 1601160. 76 Process exited after 8.257 seconds with return value 0 请按任意键继续... (3) 简单的计算器用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1运算符op操作数2 计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 编程要求:程序能进行浮点数的算术运算,有用户输入输出提示信息。 提示:因为除法中的除数不能为0,因此关键在于如何比拟浮点变量data2和常数。是否相等。作为整型变量 跟0的比拟,简单的==就可以解决。而浮点型等实型变量需要用if (fabs(data2) <= le~7) 进行判断(即判断其是否足够小)。假设使用函数fabs,需要包含头文件math.h 编译环境中正确代码、运行结果截图如下: 3 4 i 5 E] I 6 7 8 6 I io E] n 13 14 二5 16 17 18 20 21 22申 功 24 25 - 26 27白 28 29 30 - 31 32 33 31 - 35 36 ma i char op; f I oat a t b ; s c a n f ( M%f M s wi t c h ( op) case, ♦: p r i n t f ( " % b r e a k ; p r i n t f ( M %. b r e a k ; p r i n t f ( M %. b r e a k ; if(fabs(b) def a u I t : p r i n t f &b ); 三、实验小结 总结在实验中出现的问题以及解决的方法。 问题: 1. 不懂switch函数如何使用; 2. 数据过多,容易出错; 3. 运算符用错。 方法: 1. 自己摸索; 2. 上网查找资料; 3. 和室友讨论; 4. 在书本上查找。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服