太原理工大学软件工程《程序设计技术B》实验手册

合集下载

太原理工大学软件工程课程设计实验

太原理工大学软件工程课程设计实验

文本文件单词的检索与计数专业:软件工程班级: 1227 班姓名:王晓春学号:74同组人:王晓春闫瑞娟张泽磊组长:王晓春完成日期:一.【问题描述】串是非数值处理中的主要对象,如在信息检索、文本编辑、符号处理等许多领域,得到越来越广泛的应用。

在高级语言中也引入了串数据类型概念,并且串变量与其他变量〔如整型、实型等〕一样,可以进行各种运算。

然而,在各种不同类型的应用中,所处理的串有不同的特点,要想有效地实现串的处理,就必须熟悉串的存储结构及其根本运算。

本课程设计的目的就是熟悉串类型的实现方法和文本模式匹配方法,熟悉如何利用模式匹配算法实现一般的文本处理技术。

本课程设计分两步:首先,设计出串定位算法〔即模式匹配算法〕及其实现;然后,再利用串定位算法设计文本文件的检索及单词的计数等操作。

二.【设计需求及分析】1.设计要求串模式匹配算法的设计要求在串的根本操作中,在主串中查找模式串的模式匹配算法——即求子串位置的函数 Index(S,T),是文本处理中最常用、最重要的操作之一。

所谓子串的定位就是求子串在主串中首次出现的位置,又称为模式匹配或串匹配。

模式匹配的算法很多,在这里只要求用最简单的朴素模式匹配算法。

该算法的根本思路是将给定子串与主串从第一个字符开始比拟,找到首次与子串完全匹配的子串为止,并记住该位置。

但为了实现统计子串出现的个数,不仅需要从主串的第一个字符位置开始比拟,而且需要从主串的任一给定位置检索匹配字符串,所以,首先要给出两个算法:1.标准的朴素模式匹配算法2.给定位置的匹配算法文本文件单词的检索与计数的设计要求要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。

该设计要求可分为三个局部实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。

太原理工计算机操作系统B

太原理工计算机操作系统B

课程名称:计算机操作系统B实验项目:操作系统实验实验地点:行知楼A103、行远楼B114教室专业班级:软件学院学生姓名:学号:指导教师:张俊花2015年12 月 5 日实验一几种操作系统的界面一、实验目的和要求目的本实验的目的是使学生熟悉1—2种操作系统的界面,在熟练使用机器的基础上,能了解各种操作命令和系统调用在系统中的大致工作过程。

也就是通过操作系统的外部特征,逐步深入到操作系统的内部实质内容中去。

要求1. 能熟练的在1—2种操作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机。

2. 熟悉系统实用程序的调用方法和各种系统调用模块的功能和作用二、实验内容和原理在某种操作系统的环境下建立、修改、运行、打印源程序和结果,最后撤消一个完整的程序。

提示:可按下述步骤进行1.编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2.编译该源文件,建立相应的目标文件;3.编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4.连接目标文件,形成可执行文件;5.执行该文件,得到结果;6.打印输出源程序和运行结果;7.撤消本次实验中形成的所有文件。

三、系统运行的软硬件环境编译器:VC6.0四、实验步骤及程序流程图1.编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2.编译该源文件,建立相应的目标文件;3.编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4.连接目标文件,形成可执行文件;5.执行该文件,得到结果;6.打印输出源程序和运行结果;7.撤消本次实验中形成的所有文件。

五、程序清单#include<stdio.h>void main(){char str[256],a;int i,j,k;printf("输入一个字符串:\n");gets(str);printf("指定一个插入的字符:\n");a=getchar();printf("输入在第几个字符后面插入该字符:\n");scanf("%d",&k);for(j=0;str[j]!='\0';j++);for(i=j;i!=k;i--){str[i]=str[i-1];}str[k]=a;str[j+1]='\0';printf("插入指定项后的字符串是:\n%s\n",str);}六、实验结果与分析下面是生成源程序、目标文件、可执行文件等的截图错误提示显示:程序没有错误运行程序:所有文件都存在C文件夹下执行命令行程序,删除所有生成文件:删除后的截图:七、讨论、心得通过这次试验,让我了解到了不同作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机,还让我了解了程序是如何编译、链接、运行的,让我了解到了这些问题的本质,增强了自己的动手能力,极大的提升了我对这门科目的兴趣。

太原理工大学软件工程《软件代码开发技术》实验报告

太原理工大学软件工程《软件代码开发技术》实验报告

实验报告 实践报告□课程名称:软件代码开发技术实验、实践名称:实验一软件代码基础实验实验、实践地点:致远楼B303专业班级:软件XXXX 学号:XXXXXXXX 学生姓名:XXX指导教师:孙静宇2017年4 月17 日一、实验目的和要求(必填)熟悉JSP、Servlet、JDBC、MySQL、MVC等相关技术,培养良好的代码风格,为其他实验做好准备。

参照课本及参考程序,快速熟悉相关内容,编写带有自己标识信息的留言板程序(如sjyNote),熟悉Java等编程语言或技术的基本编程技巧,注重良好的代码风格(如变量命名、代码注释、Servlet与类中代码的结构等),初步掌握编写Web应用程序的能力。

二、实验内容和原理(必填)在熟悉MySQL、MyEclipse开发环境基础上,基于MVC模式,使用Jsp+Servlet 编写一个留言版程序,前台用Jsp,后台用Servlet,并培养良好的代码风格。

三、主要仪器设备(必填)软件环境:Windows 7/2008-x86,MySQL5.5,MyEclipse3.6;硬件环境:P4 2.4G/80G/1G/64M及较高配置的PC机。

四、操作方法与实验步骤1.安装和配置MySQL、MyEclipse集成开发环境;2.通过查阅课本、网络资料,了解相关知识;3.按照代码风格要求,编写自己的留言板程序;4. 调试程序,输出结果,并进行记录。

五、实验数据记录和处理(可选)AddMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {byte b1[]=request.getParameter("name").getBytes("ISO-8859-1");String na=new String(b1,"gb2312");byte b2[]=request.getParameter("email").getBytes("ISO-8859-1");String em=new String(b2,"gb2312");byte b3[]=request.getParameter("title").getBytes("ISO-8859-1");String ti=new String(b3,"gb2312");byte b4[]=request.getParameter("content").getBytes("ISO-8859-1");String co=new String(b4,"gb2312");if(na==null)na="";if(em==null)em="";if(ti==null)ti="";if(co==null)co="";try{PreparedStatement stm=con.prepareStatement("insert into messagevalues(?,?,?,?)");stm.setString(1, ti);stm.setString(2, na);if(em.length()==0)stm.setString(3, null);else stm.setString(3, em);stm.setString(4, co);try{stm.execute();}catch (Exception e) { }RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessageServlet");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}ShowMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Collection<MessageDataBean> ret=new ArrayList<MessageDataBean>();try{Statement stm=null;stm=con.createStatement();ResultSet result=stm.executeQuery("select count(*) from message");int message_count=0;if (result.next()) {message_count=result.getInt(1);result.close();}if (message_count>0) {result=stm.executeQuery("select * from message");while(result.next()){String name=result.getString("name");String title=result.getString("title");String email=result.getString("email");String content=result.getString("content");MessageDataBean msdBean=new MessageDataBean();msdBean.setTitle(title);msdBean.setName(name);msdBean.setEmail(email);msdBean.setContent(content);ret.add(msdBean);}result.close();stm.close();}request.setAttribute("messages", ret);RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessages.jsp");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}Messages.jsp<form action="AddMessage"><table align="center"border="0"><tr><td>姓名</td><td><input type="text"name="name"size="25"/></td></tr><tr><td>email</td><td><input type="text"name="email"size="25"/></td></tr><tr><td>主题</td><td><input type="text"name="title"size="25"/></td></tr><tr><td>内容</td><td><textarea name="content"rows="7"clos="25"></textarea></td></tr><tr><td colspan="3"><table width="100%"cellspacing="0"cellpadding="0"><tr><td><input type="submit"value="提交留言"></td><td><a href="ViewMessageServlet">查看留言</a></td><td><input type="reset"value="重新填写"></td></table></td></tr></table></form>ViewMessage.jsp<body><h2align="center">全部留言</h2><table width="80%"border="1"align="center"><%int message_count=0;Collection<MessageDataBean>messages1=(Collection<MessageDataBean>)request.getAttribute("messages"); Iterator<MessageDataBean> it=messages1.iterator();while(it.hasNext()){ MessageDataBean mg=(MessageDataBean)it.next();%><tr><td>留言人</td><td><%=mg.getName() %></td><td>email</td><td colspan="2"><% out.println("<ahref=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>");%></td> <tr><td>主题</td><td colspan="4"><%=mg.getTitle() %></td></tr><tr><td>内容</td><td colspan="4"><textarea rows="4"cols="70"><%=mg.getContent() %></textarea></td></tr><tr><td colspan="5"bgcolor="pink">&nbsp</td></tr><%message_count++; %><% }%><p align="center"><a href="Messages.jsp">我要留言</a></p></table></body>六、实验结果与分析(必填)填写留言信息:点击提交留言:数据库中数据:点击我要留言:六、实验结果与分析(必填)七、讨论、心得(可选)六、思考题:1.为什么要保持良好的代码风格?保持好的代码风格可以避免一些不必要的错误,可以提高程序的可读性,提高开发效率。

太原理工大学软件工程软件需求实验报告

太原理工大学软件工程软件需求实验报告

本科实验报告课程名称:软件需求工程实验项目:软件需求课程实验实验地点:行勉楼A304 专业班级:学号:学生姓名:指导教师:2016年5月18日实验一需求分析实验一、实验目的1、要求学生根据实际项目的要求,应用传统的结构化方法或者面向对象方法进行需求分析;2、通过实验了解和掌握UML和Rataional等工具的使用方法。

二、实验设备:PC机、Windows操作系统、UML和Rational等工具软件。

三、实验内容:1、熟悉和掌握UML和Rational Rose工具的使用。

在rose中创建新的模型,分别画出如下的图:用例图、类图、包图、活动图、顺序图、状态图等。

2、根据如下项目,对系统进行需求分析。

具体要求,绘制系统的用例对用例进行规格说明,绘制类图、活动图、顺序图和状态图等。

四、实验步骤1、安装Rational Rose。

2、根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。

3、针对每个功能用例使用《用例描述模板》,进行描述。

4、分别使用活动图、顺序图描述用例执行过程。

五、实验结果1、安装Rational Rose。

成功安装了UML软件。

2、根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。

(一)选题1:学生选课系统项目背景:本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。

实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。

用例图:用户:学生:管理者:类图:时序图:管理者:学生:协作图:老师:学生:(二)选题2:图书管理系统项目背景:本系统实现图书管理的基本功能,包括学生借书退书,查看自己的借书信息;管理员添加学生、管理学生和管理书籍等。

太原理工大学软件工程实验报告

太原理工大学软件工程实验报告
教务计划的录入,任课教师信息上传与查看,根据输入的数据与限制条件给出教学任 务书。
2 数据描述
2.1 输入输出:
输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计 划和学院制定的有关授课限制条件,输出项至少包括:教务处最终下达全院教师的教学任务 书和学院各个班级下各学期的课程表(可以不含上课地点)。
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第三个大模块: 3.1 是否满足条件 测试用例:Z≤2 300≤A≤600 C=0
Z>2 300≤A≤600 C=0 Z≤2 A<300 或 A>600 C=0 Z≤2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C=0 Z≤2 A<300 或 A>600 C≠0 Z>2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C≠0 3.2 更新信息 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号 依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第四个大模块: 4.1 检查 测试用例:教工号+密码 教工号(是否存在) 密码(是否正确) 4.2 查询 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+
加工名:审核 编号:5.1 输入:教务号 输出:有效值 加工逻辑:检查输入的教务号是否有密码对应
加工名:审计 编号:5.2 输入:有效值,课程信息 输出:通过名单 加工逻辑:判断课程是否可以通过,给出通过名单
加工名:更新信息 编号:5.3 输入:通过名单 输出:课程信息、教学任务书 加工逻辑:修改课程信息是否通过并给出教学任务书

太原理工大学 软件学院《数据结构B》--实验指导书-杨永强

太原理工大学 软件学院《数据结构B》--实验指导书-杨永强

《数据结构B》实验指导书计算机科学与技术学院计算机科学与技术系2011年09月目录实验一线性表 (1)实验二树 (5)实验三图 (7)实验四查找 (11)实验五内排序 (13)实验一线性表【目的与要求】本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。

要求仔细阅读并理解下列例题,上机调试并编译执行通过,并观察其结果,然后独立完成后面的实验内容,写出完整的实验报告。

编写程序过程中注意养成良好的编程风格与习惯,要求程序结构清晰,程序缩进,适当注释。

【参考例题】[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。

[输入]初始字符串,插入位置,插入字符,删除字符。

[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。

[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。

[参考源程序]#define NULL 0typedef struct node{char a;struct node *link;}node,*nodelink;void readlink(nodelink head){nodelink p,q;char c;p=head;printf("Input a linktable(a string):");scanf("%c",&c);if (c=='\n') printf("This string is empty。

太原理工软件工程实验报告全套

太原理工软件工程实验报告全套

本科实验报告课程名称:软件工程实验项目:传统软件工程的需求分析建模实验地点:专业班级:软件工程学号:2学生姓名:指导教师:2015年4月日太原理工大学学生实验报告用户接受预定用户出示去票通知和帐单打印机核对安排打印去票通知和帐单客户端客户端航班数据库订票数据库服务器终端系统逻辑图:本科实验报告课程名称: 软件工程实验项目:传统软件工程的结构设计实验地点:专业班级:软件工程学号:2学生姓名:指导教师:2015年4月11日2.1.2 服务器程序流程打印帐单输出确定预定信息输出错误原因 打印机票输出确定预定信息服务器经网络送来911=18161512131417192010142 15 3 4678旅客资料定票/取票帐单号经网络送服务器程序五思考题1.系统设计和需求分析的关系是什么?两者必须先后关联吗?答:需求分析是一个项目的开端,也是项目建设的基石。

是对用户需求的定义,对软件系统的描述。

在以往建设失败的项目中,80%是由于需求分析的不明确而造成的。

因此一个项目成功的关键因素之一,就是对需求分析的把握程度。

而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用承建方的软件。

作为第三方的监理公司,必须提醒承建方、客户方重视需求分析的重要性。

系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。

根据开发人员的理论知识和实际的经验,人们会采用各种满足实际情况的系统分析、开发方法、步骤以及文档等等.2.怎样描绘系统的体系结构?答:系统体系结构是由许多结构要素及各种视图(或观点) 共11页第6页(View)所组成的,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。

所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统。

体系结构框架(Architecture Framework)用于规定具体体系结构的定义及其文档所表达的意义。

体系结构框架不需要包罗万象,通常只是针对特定的领域,可能更注重战略方面的问题,并为体系结构的发展演变提供指导。

太原理工大学程序设计技术实验报告

太原理工大学程序设计技术实验报告
串,例如:“121”“abcba” “ABCCBA”。在主函数中输入字符串并输出判断结果。 5. 编写一个程序,由主函数和如下函数构成。
⑴设计函数:input(),输入 n 个无序的整数存储在一个数组中; ⑵设计函数:sort(),用起泡法对数组中的 n 各数据从大到小排序; ⑶设计函数:search(),用折半查找法在已排序的 n 个数种查找指定的数据,若存在, 返回其所处的位置,否则,将其插入适当位置使数据仍有序。 在主函数中调用上述函数,验证函数的功能。 6. 输入并运行第 6 章例 6-27 中的程序,根据输出结果总结局部静态变量的特点。
实验内容
1. 下载并安装 C,语言编译系统,设置编辑。
2. 输入并运行第 1 章例 1-1 和例 1-2 中程序,并记录遇到的问题和解决方法。
3. 输入并运行第 2 章例 2-2 和例 2-3 中程序,并记录遇到的问题和解决方法。
4. 求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。
课程名称:
本科实验报告
程序设计技术 B
实验地点:
明相校区软件学院机房 208
专业班级: 软件 1409 学号: 2014005763
学生姓名:
王璐
指导教师:
曹棣
实验名称
2014 年 12 月
实验一 C 语言的运行环境和运行过程
1
实验二 C 语言运算符和表达式
实验目的和要求
1. 学会安装 C 语言编译系统,如:Turbo C、Win-TC、Visual C++等; 2. 学会在上述某种编译系统中程序的编辑、编译、连接和运行; 3. 通过运行简单的 C 程序,初步了解 C 源程序的特点; 4. 理解 C 语言的数据类型,掌握各种常量的表示方法,变量的定义、初始化和赋值; 5. 学会使用 C 语言的算术运算符以及表达式的求值过程。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科实验报告课程名称:程序设计技术B实验地点:明相校区软件学院机房专业班级:软件工程XXXX班学号:xxxxxxxxx 学生姓名:XXX指导教师:曹棣2014年12 月29日实验名称实验一 C语言的运行环境和运行过程实验二 C语言运算符和表达式实验目的和要求1.学会安装C语言编译系统,如:Turbo C、Win-TC、Visual C++等;2.学会在上述某种编译系统中程序的编辑、编译、连接和运行;3.通过运行简单的C程序,初步了解C源程序的特点;4.理解C语言的数据类型,掌握各种常量的表示方法,变量的定义、初始化和赋值;5.学会使用C语言的算术运算符以及表达式的求值过程。

实验内容1.下载并安装C,语言编译系统,设置编辑。

2.输入并运行第1章例1-1和例1-2中程序,并记录遇到的问题和解决方法。

3.输入并运行第2章例2-2和例2-3中程序,并记录遇到的问题和解决方法。

4.求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。

⑴设x=2,a=7,y=4,求x+a%3*(x+y)%2/4;⑵设a=2,b=3,x=3.5,y=2.5,求(float)(a+b)/2+(int)x%(int)y;5.写出下面表达式运算后a的值,设原来a=10。

设a和n已定义成整型变量(先自己分析,再试着用程序求解,比较得到的结果是否一致)。

⑴ a+=a ⑵ a-=2⑶ a*=2+3 ⑷ a/=a+a⑸ a%=(n%=2),n的值等于5; ⑹ a+=a-=a*=a;主要仪器设备台式或笔记本电脑实验记录(写出实验内容中2,3,4,5的程序代码和运行结果)(可分栏或加页) 1.2 #include<stdio.h>void main(){ float a,b,sum,average;scanf("%f,%f",&a,&b);sum=a+b;average=(a+b)/2;printf("sum=%f,average=%f\n",sum,average);}1.3 #include<stdio.h>void main(){ float s[10],max,min,sum,score;int i;for(i=0;i<10;i++)scanf("%f",&s[i]);max=min=sum=s[0];for(i=1;i<10;i++){if(max<s[i]) max=s[i];if(min>s[i]) min=s[i];sum+=s[i];}score=(sum-max-min)/8;printf("score=%.4f",score); }1.4#include<stdio.h>void main(){ int x=2,y=4,a=7,t;t=x+a%3*(x+y)%2/4;printf("%d\n",t);}1.4-2#include <stdio.h>void main(){ int a=2,b=3,i;float x=3.5,y=2.5,t;t=(float)(a+b)/2+(int)x%(int)y; printf("%f",t);}1.5#include <stdio.h>int a=10;void main (){ int t1,t2,t3,t5,t6,t7,t8;float t4;t1=a+a;t2=a-2;t3=a*(2+3);t4=(float)a/(a+a);t5=a%(5%2);t6=a*a;t7=t6-t6;t8=t7;printf("%d,%d,%d,%.2f,%d,%d",t1,t2,t3,t4,t5,t8); }实验名称实验三简单程序、分支程序和循环程序设计实验四数组应用程序设计实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;5.掌握数组的定义、初始化和数组元素的引用方法;6.掌握与数组有关的算法,如:求最大(小)值,排序等;7.理解字符数组与字符串的关系,掌握字符串的处理过程和常用字符串处理函数。

实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。

2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。

3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。

4.输入一百分制成绩,输出成绩等级A、B、C、D、E。

90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。

要求程序能处理错误的输入数据。

5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。

(fabs(t)表示t的绝对值,1e-6=1*10-6)。

6.在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6 的偶数都可以表示为两个素数之和,如:100=3+97。

7.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。

8.输入一个英文句子,统计单词的个数。

主要仪器设备台式或笔记本电脑实验记录(写出实验内容中3,5,6,8的程序代码和运行结果)(可分栏或加页)1.1#include<stdio.h>void main(){int a=5678;printf("%d,%o,%x,%u\n",a,a,a,a);}1.2#include <stdio.h>void main(){float a=-123.456789;printf("f格式:%f\n",a);printf("g格式:%g\n",a);printf("e格式:%e\n",a);printf("f格式:%10.2f",a);printf("g格式:%10.2g",a);printf("e格式:%10.2e",a);}2.1#include<stdio.h>void main(){int x,y;printf("输入矩形的长和宽: ");scanf("%d%d",&x,&y);printf("area is %d\n",x*y);}2.2#include<stdio.h>#include<math.h>void main(){float a,b,c,disc,x1,x2,p,q;printf("Input a,b,c: ");scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%5.2f\nx2=%5.2f\n",x1,x2); }3#include<stdio.h>void main(){double c,s,v,pi=3.14,r=1.5,h=3;c=2*pi*r;s=pi*r*r;v=s*h;printf("周长是:%lf\n,面积是:%lf\n,体积是:%lf\n",c,s,v); }4.#include<stdio.h>void main(){int t;printf("请输入成绩");scanf("%d",&t);if(t<=0||t>=100){printf("请重新输入正确的成绩");scanf("%d",&t);}if (t>=90)printf("A\n");else if(t>=80)printf("B\n");else if(t>=70)printf("C\n");else if(t>=60)printf("D\n");elseprintf("E\n");}5.#include <stdio.h>#include <math.h>void main(){float pi,s,t,i=1;int j=-1;for(t=3,s=1;fabs(i)>1e-6;t+=2){i=1/t*j;s+=i;j=(-1)*j;}pi=4*s;printf("%f",pi);}6.#include<stdio.h>void main(){int a,i,j,m,n,t;printf("请输入一个大于6偶数:");scanf("%d",&a);if(a<=6||a%2!=0)printf("重新输入:");elsefor(i=3;i<=a/2;i++){t=0;j=a-i;for(m=2;m<i;m++){ if(i%m==0)t=1;break;}for(n=2;n<j;n++){ if(j%n==0)t++;break;}if(t==0)printf("%d=%d+%d\n",a,i,j);}}7.#include<stdio.h>void main(){char s[256],prior=' ';int i,count=0;printf("请输入一个英文句子\n");gets(s);for(i=0;s[i]!='\0';i++){if(prior==' '&&(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')) count++;prior=s[i];}printf("单词数为:%d\n",count);}4.#include <stdio.h>void main(){char s[81],*p,*q;gets(s);p=s;q=s;for(;*p!='\0';p++);for(p--;*q!='\0';q++,p--){if(*p!=*q){printf("不是");break;}}printf("回文");}5.#include <stdio.h> input(int *p){int i,a;for(i=0;i<10;i++){scanf("%d",&a);*p=a;p++;}}sort(int *p){int i,j,t;for(i=1;i<10;i++)}遇到的问题和解决方法遇到的问题:1.对于指针变量在函数里的运用不熟练,导致多次报错。

相关文档
最新文档