实验3(答案)

合集下载

计算机网络实验三参考答案

计算机网络实验三参考答案

1. What is the IP address and TCP port number used by the client computer (source) that is transferring the file to ? To answer this questio n, it’s probably easiest to select an HTTP message and explore the details of the TCP packet used to carry this HTTP message, using the “details of the selected packet header window” (refer to Figure 2 in the “Getting Started with Wireshark” Lab if you’re uncertain about the Wireshark windows).Ans: IP address:192.168.1.102 TCP port:11612. What is the IP address of ? On what port number is it sending and receiving TCP segments for this connection?Ans: IP address:128.119.245.12 TCP port:80If you have been able to create your own trace, answer the following question:3. What is the IP address and TCP port number used by your client computer(source) to transfer the file to ?ANS: IP address :10.211.55.7 TCP port:492654. What is the sequence number of the TCP SYN segment that is used to initiate the TCP connection between the client computer and ? What is it in the segment that identifies the segment as a SYN segment?ANS: sequence number: 0 Syn Set = 1 identifies the segment as a SYN segment5. What is the sequence number of the SYNACK segment sent by to the client computer in reply to the SYN? What is the value of the ACKnowledgement field in the SYNACK segment? How did determine that value? What is it in the segment that identifies the segment as a SYNACK segment?ANS: The sequence number: 0ACKnowledgement number : 1 which is sequence number plus 1Both the sequence flag and the ACKnowledgement flag been set as 1, identifies the segment as SYNACK segment.6. What is the sequence number of the TCP segment containing the HTTP POST command? Note that in order to find the POST command, you’ll need to dig into the packet content field at the bottom of the Wireshark window, looking for a segment with a “POST” within its DATA field.Ans: The sequence number : 17. Consider the TCP segment containing the HTTP POST as the first segment in the TCP connection. What are the sequence numbers of the first six segments in the TCP connection (including thesegment containing the HTTP POST)? At what time was each segment sent? When was the ACK for each segment received? Given the difference between when each TCP segment was sent, and when its acknowledgement was received, what is the RTT value for each of the six segments? What is the EstimatedRTT value (see page 249 in text) after the receipt of each ACK? Assume that the value of the EstimatedRTT is equal to the measured RTT for the first segment, and then is computed using the EstimatedRTT equation on page 249 for all subsequent segments.Note: Wireshark has a nice feature that allows you to plot the RTT for each of the TCP segments sent. Select a TCP segment in the “listing of captured packets” window that is being sent from the client to the server. Then select: Statistics->TCP Stream Graph- >Round Trip Time Graph.Segment 1 Segment 2 Segment 3Segment 4Segment 5Segment 6After Segment 1 : EstimatedRTT = 0.02746After Segment 2 : EstimatedRTT = 0.875 * 0.02746 + 0.125*0.035557 = 0.028472 After Segment 3 : EstimatedRTT = 0.875 * 0.028472 + 0.125*0.070059 = 0.033670 After Segment 4 : EstimatedRTT = 0.875 * 0.033670 + 0.125*0.11443 = 0.043765 After Segment 5 : EstimatedRTT = 0.875 * 0.043765 + 0.125*0.13989 = 0.055781 After Segment 6 : EstimatedRTT = 0.875 * 0.055781 + 0.125*0.18964 = 0.072513 8. What is the length of each of the first six TCP segments?(see Q7)9. What is the minimum amount of available buffer space advertised at the received for the entire trace? Does the lack of receiver buffer space ever throttle thesender?ANS:The minimum amount of buffer space (receiver window) advertised at for the entire trace is 5840 bytes;This receiver window grows steadily until a maximum receiver buffer size of 62780 bytes.The sender is never throttled due to lacking of receiver buffer space by inspecting this trace.10. Are there any retransmitted segments in the trace file? What did you check for (in the trace) in order to answer this question?ANS: There are no retransmitted segments in the trace file. We can verify this by checking the sequence numbers of the TCP segments in the trace file. All sequence numbers are increasing.so there is no retramstmitted segment.11. How much data does the receiver typically acknowledge in an ACK? Can youidentify cases where the receiver is ACKing every other received segment (seeTable 3.2 on page 257 in the text).ANS: According to this screenshot, the data received by the server between these two ACKs is 1460bytes. there are cases where the receiver is ACKing every other segment 2920 bytes = 1460*2 bytes. For example 64005-61085 = 292012. What is the throughput (bytes transferred per unit time) for the TCP connection? Explain how you calculated this value.ANS: total amount data = 164091 - 1 = 164090 bytes#164091 bytes for NO.202 segment and 1 bytes for NO.4 segmentTotal transmission time = 5.455830 – 0.026477 = 5.4294So the throughput for the TCP connection is computed as 164090/5.4294 = 30.222 KByte/sec.13. Use the Time-Sequence-Graph(Stevens) plotting tool to view the sequence number versus time plot of segments being sent from the client to the server. Can you identify where TCP’s slow start phase begins and ends, and where congestion avoidance takes over? Comment on ways in which the measured data differs from the idealized behavior of TCP that we’ve studied in the text.ANS: Slow start begins when HTTP POST segment begins. But we can’t identify where TCP’s slow start phase ends, and where congestion avoidance takes over.14. Answer each of two questions above for the trace that you have gathered when you transferred a file from your computer to ANS: Slow start begins when HTTP POST segment begins. But we can’t identify where TCP’s slow start phase ends, and where congestion avoidance takes over.。

C语言程序设计实验三答案

C语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。

2. 掌握利用if 结构实现选择结构的方法。

3. 掌握利用switch 结构实现多分支选择结构。

4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。

输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。

)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。

答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。

国家开放大学《数据结构》课程实验报告(实验3 ——栈、队列、递归设计)参考答案

国家开放大学《数据结构》课程实验报告(实验3 ——栈、队列、递归设计)参考答案
{
x=Pop(s); /*出栈*/
printf("%d ",x);
InQueue(sq,x); /*入队*/
}
printf("\n");
printf("(10)栈为%s,",(StackEmpty(s)?"空":"非空"));
printf("队列为%s\n",(QueueEmpty(sq)?"空":"非空"));
ElemType Pop(SeqStack *s); /*出栈*/
ElemType GetTop(SeqStack *s); /*取栈顶元素*/
void DispStack(SeqStack *s); /*依次输出从栈顶到栈底的元素*/
void DispBottom(SeqStack *s); /*输出栈底元素*/
} SeqQueue; /*定义顺序队列*/
void InitStack(SeqStack *s); /*初始化栈*/
int StackEmpty(SeqStack *s); /*判栈空*/
int StackFull(SeqStack *s); /*判栈满*/
void Push(SeqStack *s,ElemType x); /*进栈*/
sq=(SeqQueue *)malloc(sizeof(SeqQueue));
InitQueue(sq);
printf("(8)队列为%s\n",(QueueEmpty(sq)?"空":"非空"));
printf("(9)出栈/入队的元素依次为:");

人教版九年级化学上册 第七单元 实验活动3 燃烧的条件【有答案】

人教版九年级化学上册 第七单元   实验活动3 燃烧的条件【有答案】

第七单元实验活动3燃烧的条件实验步骤实验现象实验结论1.用棉花分别蘸酒精和水,放在酒精灯火焰上加热片刻酒精燃烧、水没有燃烧燃烧要有__________2.取同样大小的乒乓球碎片和滤纸碎片,放在薄铜片的两侧并加热铜片的中部铜片上的乒乓球碎片比滤纸碎片先燃烧燃烧时温度要达到可燃物的着火点,乒乓球碎片的着火点比滤纸碎片的______3.点燃一支蜡烛,固定在桌面上,用一只烧杯罩住蜡烛罩上烧杯的蜡烛熄灭燃烧要____________________1.下列探究燃烧条件的实验中,不能得出的结论是()A.燃烧需要可燃物B.燃烧需要氧气C.燃烧需要温度达到可燃物的着火点D.滤纸片和乒乓球片都是可燃物2.(2019秋南昌月考)如图,将白磷a和红磷c分别装于Y形试管的两个支管中,管口系牢小气球,将两个支管同时伸入相同深度的热水中,热水中还有一块白磷b。

下列说法错误的是()A.烧杯中的热水不仅能提供热量,而且能隔绝空气B.a与c对比说明可燃物燃烧需要温度达到着火点C.b与c对比说明可燃物燃烧需要与氧气接触D.小气球能缓冲管内的压强,同时防止生成的白烟进入空气中3.(2019成都模拟改编)某校化学兴趣小组设计实验探究燃烧的条件。

将三支试管同时放入盛有80 ℃热水的烧杯中(烧杯已省略),下列有关说法错误的是()A.三支试管中只有b试管中有白烟产生B.温度足够高时,c试管中红磷也能燃烧C.对比a和b两支试管说明CO2不支持燃烧D.本实验设计能证明燃烧的三个条件4.(2018广东改编)如图是“燃烧的条件”实验活动的部分操作示意图:(1)实验一加热片刻观察到A中棉球上的酒精燃烧产生蓝色火焰,B中棉球上的水不燃烧,由此得出燃烧的条件之一是__________________;B中棉球如果在酒精灯上加热时间过长,观察到的现象为________________。

(2)实验二观察到先燃烧的物质是木屑,说明木屑的着火点比煤粉______。

实验三数据查询(参考答案)

实验三数据查询(参考答案)

实验三数据查询(参考答案)实验目的□学会利用T_SQL语句中SELECT进行数据查询。

□掌握利用T_SQL 语句进行数据查询的基本方法。

实验内容有以下数据表表名:tudent属性列t_idt_nmt_e某t_birtht_coret_datet_fromt_dpidt_mnt使用T-SQL语句进行数据查询(注:学生班级为学号的前6位)1.显示所有学生的学号、姓名、性别、入学年份和班级(学号前6位)。

Selectt_id学号,t_nm姓名,t_e某性别,year(t_date)入学年份,left(t_id,6)班级Fromtudent2.显示前25%条学生记录信息。

Selecttop25percent某fromtudent3.查询tudent表中2022年及以后入学的学生信息。

Select某fromtudentwhereyear(t_date)>=20224.查询选修了1002号课程且成绩在60以下的学生学号。

Selecttudent.t_idfromtudentjoinlt_coueontudent.t_id=lt_coue. t_idWherec_id='1002'andcore<605.查询所有由三个字组成的“王”姓学生信息。

Select某fromtudentwheret_nmlike'王__'6.查询选修了1001号课程且成绩在60到80之间的学生选课信息。

Select某fromlt_couewherec_id='1001'andcorebetween60and807.查询所有张,王,李,赵姓的学生的学号、姓名、性别。

Selectt_id,t_nm,t_e某fromtudentwheret_nmlike'[张王李赵]%'8.查询陕西籍学生,将结果保存在新表t_han某i。

Select某intot_han某ifromtudentwheret_fromlike'%陕西%'9.查询选修了“数据结构”课程的学生学号、姓名及课程成绩。

实验3-熟悉常用的HDFS操作-答案

实验3-熟悉常用的HDFS操作-答案

实验2熟悉常用的HDFS操作1实验目的1. 理解HDFS在Hadoop体系结构中的角色;2. 熟练使用HDFS操作常用的Shell命令;3. 熟悉HDFS操作常用的Java API。

2实验平台操作系统:LinuxHadoop版本:2.6.0或以上版本JDK版本:1.6或以上版本Java IDE:Eclipse3实验内容和要求(1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;(2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;Shell命令:if $(./hdfs dfs -test -e );then $(./hdfs dfs -copyToLocal text.txt ./text2.txt);else $(./hdfs dfs -copyToLocal text.txt ./text.txt);fiJava代码:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import java.io.*;public class HDFSApi {/*** 下载文件到本地* 判断本地路径是否已存在,若已存在,则自动进行重命名*/public static void copyToLocal(Configuration conf, String remote, String local) throws IOException {fs = (conf);Path remotePath = new Path(remote);File f = new );/* 如果文件名存在,自动重命名(在文件名后面加上_0, _1 ...) */if (f.exists()) {System.out.println(local + " 已存在.");Shell命令:./hdfs dfs -cat text.txtJava代码:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import java.io.*;public class HDFSApi {/*** 读取文件内容*/public static void cat(Configuration conf, String remote) throws IOException { fs = (conf);Path remotePath = new Path(remote);FSDataInputStream in = fs.open(remotePath);BufferedReader d = new BufferedReader(new InputStreamReader(in));String line = null;while ( (line = d.readLine()) != null ) {System.out.println(line);}d.close();in.close();fs.close();}/*** 主函数*/public static void main(String[] args) {Configuration conf = new Configuration();conf.set("","hdfs://localhost:9000");String remote = "/user/hadoop/text.txt"; // HDFS路径try {System.out.println("读取文件: " + remote);HDFSApi.cat(conf, remote);System.out.println("\n读取完成");} catch (Exception e) {e.printStackTrace();}}}Shell命令:./hdfs dfs -ls -h text.txtJava代码:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import java.io.*;(5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信Shell命令:./hdfs dfs -ls -R -h /user/hadoopJava代码:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import java.io.*;import java.text.SimpleDateFormat;public class HDFSApi {/*** 显示指定文件夹下所有文件的信息(递归)*/public static void lsDir(Configuration conf, String remoteDir) throws IOException { fs = (conf);Path dirPath = new Path(remoteDir);/* 递归获取目录下的所有文件*/RemoteIterator<Located> remoteIterator = fs.listFiles(dirPath, true);/* 输出每个文件的信息*/while (remoteIterator.hasNext()) {s = remoteIterator.next();System.out.println("路径: " + s.getPath().toString());System.out.println("权限: " + s.getPermission().toString());(6)提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。

Matlab实验三答案

Matlab实验三答案

Matlab实验三答案实验三 MATLAB语⾔的程序设计⼀、实验⽬的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计⽅法3、函数⽂件的编写和设计4、了解和熟悉跨空间变量传递和赋值⼆、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。

2.初值、增量、终值可正可负,可以是整数,也可以是⼩数,只须符合数学逻辑。

while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执⾏循环体语勾。

若表达式的值为真,执⾏循环体语句⼀次、在反复执⾏时,每次都要进⾏判断。

若表达式的值为假,则程序执⾏end之后的语句。

2、为了避免因逻辑上的失误,⽽陷⼊死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执⾏。

(执⾏循环体的次数不确定;每⼀次执⾏循环体后,⼀定会改变while 后⾯所跟关系式的值。

)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endelse if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是⼀个条件分⽀语句,若满⾜表达式的条件,则往下执⾏;若不满⾜,则跳出if结构。

2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。

3.注意:每⼀个if都对应⼀个end,即有⼏个if,记就应有⼏个end。

switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后⾯的表达式可以是任何类型,如数字、字符串等。

2.当表达式的值与case后⾯常量表达式的值相等时,就执⾏这个case后⾯的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执⾏otherwise后的执⾏语句。

C语言实验报告 实验三 参考答案

C语言实验报告 实验三  参考答案

实验三循环结构程序设计(参考答案)1、设计程序sy3-1.c,计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。

例如输入n 的值为20时,输出0.583333。

算法分析:穷举1~n(含n)之间的每一个整数,能否被5或者9整除。

如果能,则把它的倒数累加到累加器里去。

因为能被5整除的自然数,应该至少从5才可能,所以循环控制变量i可以5开始。

参考答案:#include<stdio.h>void main(){int n,i;double s=0; //累加器要赋初值为0,结果为小数,所以定义为实数类型printf("请输入n的值:");scanf("%d",&n);for(i=5;i<=n;i++) //穷举小于等于n的自然数if(i%5==0||i%9==0)s=s+1.0/i;// 因为i是整数类型,所以1/i的值为0printf("s=%f\n",s);}运行结果:2、设计程序sy3-2.c,计算并输出给定整数n的所有因子(不包括1与自身)之和。

例如,输入n的值是856时,应输出763。

算法分析:因子,就是能整除n的值。

所以从2到n-1穷举每个数是不是它的因子,是就累加到s中。

参考答案:#include<stdio.h>void main(){int s=0,n,i;printf("请输入n:");scanf("%d",&n);for(i=2;i<n;i++) //穷举所有可能为因子的整数if(n%i==0) //因子即是能整除n的数s=s+i;printf("%d的所有因子之和是:%d\n",n,s);}运行结果:3、设计程序sy3-3.c,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。

2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(实验报告3)试题及答案

2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(实验报告3)试题及答案

1 国家开放大学专科《液压与气压传动》一平台在线形考
实验报告3答案
说明:资料整理于2024年10月22日;适用于2024秋期国家开放大学专科学员一平台在线形考考试。

液压与气压传动—— 活塞缸拆装分析 实验报告
一、实验目的
(1)正确选取拆装工具;
(2)活塞式液压缸主要零件分析;
(3)掌握液压缸的拆卸和装配步骤;
(4)通过对活塞式液压缸结构的认知,进一步理解其工作原理。

二、实验内容(主要对元件或系统的描述)
1—耳环;2、9—锁紧螺母;3—缸盖;4—导向套及密封圈;5—活塞杆;6—缸体; 7—活塞及密封圈;8—O 型密封圈;10—缸底
工具准备:橡胶锤 一把
密封圈拆装工具 一套 铜棒 一根 汽油
若干 固定扳手和活动扳手 各一把 液压油 若干
三、主要实验步骤(认识性实验略)
工具准备:橡胶锤 一把
密封圈拆装工具 一套 铜棒
一根 汽油 若干 姓 名: 学 号: 得 分:
教师签名:。

实验训练3答案 数据删除操作

实验训练3答案 数据删除操作

实验训练3答案数据删除操作实验训练3答案:数据删除操作
本文档将为您提供实验训练3中数据删除操作的答案。

问题1:如何删除数据库中的数据表?
要删除数据库中的数据表,可以使用以下SQL语句:
DROP TABLE 表名;
将上述SQL语句中的“表名”替换为您要删除的具体数据表的名称即可。

问题2:如何删除数据库中的特定数据行?
要删除数据库中的特定数据行,可以使用以下SQL语句:
DELETE FROM 表名 WHERE 条件;
将上述SQL语句中的“表名”替换为要删除数据行的数据表的名称,将“条件”替换为指定的删除条件。

问题3:如何删除数据库中的特定数据列?
要删除数据库中的特定数据列,可以使用以下SQL语句:
ALTER TABLE 表名 DROP 列名;
将上述SQL语句中的“表名”替换为要删除数据列的数据表的名称,将“列名”替换为要删除的具体列的名称。

问题4:如何清空数据库中的全部数据?
要清空数据库中的全部数据,可以使用以下SQL语句:
DELETE FROM 表名;
将上述SQL语句中的“表名”替换为要清空数据的具体数据表的名称。

以上是关于数据库中数据删除操作的答案。

如有任何进一步的疑问,请随时向我提问。

实验3网际协议参考答案

实验3网际协议参考答案

IP数据报中的首部检验和并不检验数据报中的数据。

这样做的最大好处是什么?坏处是什么?
缺点:在数据报转发过程中不能及时发现数据部分错误,只有在数据报交付到目的地后才发现数据报中的数据部分错误
好处:1、所有将据封装在IP数据报中的高层协议如TCP,都有覆盖整个分组的校验和。

因此,IP数据报的校验和就不必再检验所封装的数据部分。

2、每经过一个路由器,IP数
据报的首部就要改变一次,但数据部分不改变,因此校验和只对发生变化的部分进行校验。

若校验包含数据部分,则每个路由器必须重新计算整个分组的校验和,这就表示每一个路由器要花费更多的处理时间。

C语言实验报告 实验三 参考答案

C语言实验报告 实验三  参考答案

实验十 参考答案(指针)三、实验内容( 按要求完善或设计以下程序,并调试分析运行结果)1. 程序填空题 给定程序BLACK10-1.C 中,函数fun 的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。

例如,输入一个数:27638496,新的数:为739。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

【解题思路】第一处:t 是通过取模的方式来得到*n 的个位数字,所以应填:10。

第二处:判断是否是奇数,所以应填:0。

第三处:最后通形参n 来返回新数x ,所以应填:x 。

2. 程序改错题 给定程序MODI10-1.C 中函数fun 的功能是: 计算n 的5次方的值(规定n 的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。

例如,7的5次方是16807, 其低3位数的和值是15。

【解题思路】第一处:变量d 的初始值应为1。

第二处:整除的符号是 /。

3. 程序设计题 请编写函数fun ,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。

例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35。

【解题思路】本题是求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。

【参考答案】void fun ( int x, int pp[], int *n ){ int i; *n=0;for(i=1; i <= x; i++)if((x % i== 0) && (i % 2)) pp[(*n)++]=i;}4. 程序填空题 给定程序中,函数fun 的功能是:找出N ×N 矩阵中每列元素中的最大值,并按顺序依次存放于形参b 所指的一维数组中。

实验3、循环结构程序设计(有答案)

实验3、循环结构程序设计(有答案)

循环结构程序设计1.程序填空下面程序的功能为:计算1~100之间的偶数之和,完成以下的程序并运行出正确的结果。

# include <stdio.h>void main(){int i,s=0;/**************found*************/i=2 ;while(i<=100){s=s+i;/**************found**************/i+=2 ;}printf(“s=%d”,s);}运行结果:S=25502.程序改错(1) 下面程序的功能为:计算10!,修改以下的程序并上机运行通过。

#include <stdio.h>void main(){int n,t;for(n=1,t=1,t<10,t++);n=n*t;printf(“10!=%d\n”,n);}正确的程序:#include <stdio.h>void main(){int n,t;for(n=1,t=1;t<=10;t++) //句尾不能有“;”n=n*t;printf(“10!=%d\n”,n);}运行结果:10!=3628800(2) 下面程序的功能为:计算1~100之间能被3和7整除的数之和,修改以下的程序并上机运行通过。

#include <stdio.h>void main(){int i,s;s=0;while(i<=100);{if(i%3==0||i%7==0)s+=i;i=i+1;}printf(“s=%d”,s);}正确的程序:#include <stdio.h>void main(){int i,s;s=0; i=1;while(i<=100) //句尾不能有“;”{if(i%3==0&&i%7==0)s+=i;i=i+1;}printf(“s=%d”,s);}运行结果:S=2103、有一个分数序列:2/1、3/2、5/3、8/5、13/8、……,编写一个C程序,求出这个数列的前30项之和。

2021年数据库实验3答案

2021年数据库实验3答案

实验三:交互式SQL语句的使用欧阳光明(2021.03.07)1、实验目的(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法2、实验平台使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。

3 实验内容及要求选择如下一个应用背景之一:●学生选课系统●习题3、4、和5中使用的数据库●其它你熟悉的应用(1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。

(2)要求认真进行实验,记录各实验用例及执行结果。

(3)深入了解各个操作的功能。

实验要求包括如下方面的内容:3.1 数据定义1.基本表的创建、修改及删除 2.索引的创建3.视图的创建3.2 数据操作完成各类更新操作包括:1.插入数据2.修改数据3. 删除数据3.3 数据查询操作完成各类查询操作1.单表查询2.分组统计3. 连接查询4. 嵌套查询5. 集合查询3.4 数据操作1.创建视图2.视图查询参考示例:建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。

一、数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构表2. Course表结构表3. SC表结构1.创建、修改及删除基本表(1)创建Student表CREATETABLE Student(Sno CHAR(8)PRIMARYKEY,Sname CHAR(8),Ssex CHAR(2)NOTNULL,Sage INT,Sdept CHAR(20));(2)创建Course表CREATETABLE Course(Cno CHAR(4)PRIMARYKEY,Cname CHAR(40)NOTNULL,Cpno CHAR(4),Ccredit SMALLINT,);(3)创建SC表CREATETABLE SC(Sno CHAR(8)FOREIGNKEY (Sno)REFERENCES Student(Sno), Cno CHAR(4),Grade SMALLINT,);(4)创建员工表EmployeeCREATETABLE Employee(编号CHAR(8)PRIMARYKEY,姓名VARCHAR(8)notnull部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。

实验三 循环结构程序设计(答案)

实验三  循环结构程序设计(答案)

实验教案}三、实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)1、设计程序sy3-1.c,要求打印小学九九乘法表。

算法分析:根据九九乘法表可知,该表共有9行,第i行有i个表达式,而且表达式中的操作数和行、列数相关,因此可以用嵌套的双重循环来实现,外循环控制行数(循环变量从1到9),内循环控制每行的表达式个数(循环变量从1变到i)。

参考答案:# include <stdio.h>void main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-5d",j,i,i*j);printf("\n");}}运行结果:2、设计程序sy3-2.c,要求编程计算x n,其中x和n均由键盘输入2。

算法分析:要计算x的n次方,即是n次x相乘,其中x可以是整型或实型,而n必须是整型;另外要考虑结果的类型,若x和n比较大,一般的int型容易产生溢出。

参考答案:# include <stdio.h>void main(){int i,n;float x,p=1; /*累乘器要赋初值1*/printf("Input x,n: ");scanf("%f,%d",&x,&n); /*以逗号分隔输入的已知数据x和n的值*/for(i=1;i<=n;i++)p=p*x;printf("%g^%d=%g\n",x,n,p);}运行结果:3、设计程序sy3-3.c,已知祖父年龄70岁,长孙20岁,次孙15岁,幼孙5岁,问要过多少年,三个孙子的年龄之和同祖父的年龄相等,试用单重循环结构编程实现。

4、设计程序sy3-4.c,有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。

实验训练3答案-数据增删改操作

实验训练3答案-数据增删改操作

实验训练3 数据增删改操作请到电脑端查看实验目的:基于实验1创建的汽车用品网上商城数据库Shopping,练习Insert、Delete、TRUNCATE TABLE、Update语句的操作方法,理解单记录插入与批量插入、DELETE与TRUNCATE TABLE语句、单表修改与多表修改的区别。

实验内容:【实验3-1】插入数据(1)使用单记录插入Insert语句分别完成汽车配件表Autoparts、商品类别表category、用户表Client 、用户类别表Clientkind 、购物车表shoppingcart、订单表Order、订单明细表order_has_Autoparts、评论Comment的数据插入,数据值自定;并通过select语句检查插入前后的记录情况。

(2)(2)使用带Select的Insert语句完成汽车配件表Autoparts中数据的批量追加;并通过select语句检查插入前后的记录情况。

INSERT INTO Autoparts(*)SELECT*FROM t1【实验3-2】删除数据(1)使用Delete语句分别完成购物车表shoppingcart、订单表Order、订单明细表Order_has_Autoparts、评论Comment的数据删除,删除条件自定;并通过select语句检查删除前后的记录情况。

(2)使用TRUNCATE TABLE语句分别完成购物车表shoppingcart、评论Comment的数据删除。

【实验3-3】修改数据使用Update分别完成汽车配件表Autoparts、商品类别表category、用户表Client、用户类别表Clientkind、购物车表shoppingcart、订单表Order、订单明细表Order_has_Autoparts、评论Comment的数据修改,修改后数据值自定,修改条件自定;并通过select语句检查修改前后的记录情况。

c语言实验报告三答案(完整版)

c语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。

并进一步学习调试程序的方法。

二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。

(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。

实验三 选择结构程序设计答案

实验三  选择结构程序设计答案

实验三 选择结构程序设计1. 求分段函数的值。

2226,035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其它 用if 语句实现,分别输出 5.0, 3.0,1.0,2.0,2.5,3.0,5.0x =--时的y 值。

x=input('x=?'); if x<0&x~=-3 y=x^2+x-6;elseif x>=0&x<5&x~=2&x~=3 y=x^2-5*x+6; elsey=x^2-x-1; end y2. 输入一个百分制成绩,要求输出成等级A 、B 、C 、D 、E 。

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

要求:(1)分别用if 语句和switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

x=input('x=?'); if x>100|x<0disp('Error input'); break;endif x>=90&x<=100disp('A')elseif x>=80&x<=89 disp('B')elseif x>=70&x<=79 disp('C')elseif x>=60&x<=69 disp('D')elsedisp('E')endx=input('x=?');if x>100|x<0disp('Error input');break;endswitch fix(x/10)case {9,10}disp('A')case {8}disp('B')case {7}disp('C')case {6}disp('D')otherwisedisp('E') end3. 硅谷公司员工的工资计算方法如下:(1)工作时间超过120小时者,超过部分加发15%。

网络操作系统 实验作业3参考答案

网络操作系统 实验作业3参考答案

实验作业3【问题与思考】1、在Linux系统中,哪个文件定义了用户的信息________。

A. /etc/passwdB./etc/usersC./etc/infoD./etc/resolv.conf2、在Linux系统中,如何获取命令“iostat”的帮助信息_______。

A.man iostat B.? –k iostatC.help iostat D.sos -iostat3、下列哪个命令可以将输出到标准输出设备上的信息保存到文件 /tmp/user.dat 中________。

A. > /tmp/user.datB. < /tmp/user.datC. ! /tmp/user.datD. % /tmp/user.dat4、Linux系统中,哪个文件保存了用户账户的加密口令信息_______。

A./etc/securityB./etc/shadowC./etc/passwdD. /etc/inittab5、在Linux中,命令解释器是哪个。

A、管道B、分级文件系统C、字符型处理器D、 shell6、在Linux中,要删除abc目录及其全部内容的命令为。

A、rm abcB、rm -r abcC、rmdir abcD、rmdir -r abc7、请选出创建用户ID是200,组ID是1000,用户主目录为/home/user01的新用户user01的正确命令是:。

A、adduser -u:200 -g:1000 -h:/home/user01 user01B、adduser -u=200 -g=1000 -d=/home/user01 user01C、useradd -u 200 -g 1000 -d /home/user01 user01D、useradd -u 200 -g 1000 -h /home/user01 user018、Linux操作系统中的shell是。

A、命令解释器B、程序设计语言C、脚本编辑器D、编译器9、CentOS系统中用户默认的Shell是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验3:
1、常见预定义的转义字符对输出的控制作用。

(文件名:3-1.c)
#include <stdio.h>
V oid main()
{
int a,b,c;
a=5,b=6,c=7;
/* 打印一个标尺以便检查输出结果*/
printf("12345678123456781234567812345678\n");
/* 打印1个字符串*/
printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
/* 打印一个文件名*/
printf("c:\\a.txt");
printf("\n");
}
注意:仔细观察输出结果,分析结果是否正确,理解各个转义字符的作用并加以掌握。

运行结果:
2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算机结果,输出要求有文字说明,pi取值3.1415926,结果保留2位小数。

(文件名:3-2.c) 提示:半径和高都是用scanf函数输入,不能在程序中直接赋值
圆周长=2*pi*r 圆面积=pi*r*r 圆球表面积=4*pi*r*r
圆周长=9.42 圆面积=7.07 圆球表面积=28.27
圆球体积=14.14 圆柱体积=21.21
程序为:
#include <stdio.h>
void main ()
{
float h,r,l,s,sq,vq,vz;
float pi=3.1415926;
printf("请输入圆半径r,圆柱高h∶");
scanf("%f,%f",&r,&h); //要求输入圆半径r和圆柱高h l=2*pi*r; //计算圆周长l
s=r*r*pi; //计算圆面积s
sq=4*pi*r*r; //计算圆球表面积sq
vq=4.0/3.0*pi*r*r*r; //计算圆球体积vq
vz=pi*r*r*h; //计算圆柱体积vz
printf("圆周长为: l=%6.2f\n",l);
printf("圆面积为: s=%6.2f\n",s);
printf("圆球表面积为: sq=%6.2f\n",sq);
printf("圆球体积为: v=%6.2f\n",vq);
printf("圆柱体积为: vz=%6.2f\n",vz);
}
3、键盘接收四个字符,要求输入的数据是小写字母,将输入的小写字母转换为大写字母,最后输出处理后的字符。

(文件名3-3.c)提示:小写转大写,将小写的AscII码值减去32即可
#include <stdio.h>
void main()
{
char a,b,c,d;
scanf("%c,%c,%c,%c",&a,&b,&c,&d);
printf("输入的四个字符是:\n");
printf("a=%c,b=%c,c=%c,d=%c\n",a,b,c,d);
a=a-32;
b=b-32;
c=c-32;
d=d-32;
printf("转换之后的结果是:\n");
printf("a=%c,b=%c,c=%c,d=%c\n",a,b,c,d); }
4、输入一个华氏温度,要求输出摄氏温度。

公式为)32(9
5-=F c ,其中F 表示华氏温度,c 表示摄氏温度。

(文件名3-4.c )
提示:测试值,如果输入的摄氏温度为56,则输出为13.33 #include <stdio.h>
void main()
{
float c,f;
printf("请输入一个华氏温度:");
scanf("%f",&f);
c=(5.0/9.0)*(f-32); /*注意5和9要用实型表示,否则5/9值为0*/
printf("摄氏温度为:%5.2f\n",c); }
5、程序改错题: (要求文件名::3-5.c )
main
{
double a,b,c,s,v;
printf(input a,b,c:\n);
scanf("%d %d %d",a,b,c);
S=a*b;
V=a*b*c;
printf("%d %d %d",a,b,c);
printf("s=%f\n",s,"v=%d\n",v);
}
输出:
input a,b,c; 输出
2.0 2.0
3.0 用户输入
a=2.000000,b=2.000000,c=3.000000 输出形式s=4.000000,v=12.000000 输出形式修改后的程序为:
#include <stdio.h>
main()
{
float a,b,c,s,v;
printf("input a,b,c:\n");
scanf("%f %f %f",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("a=%f,b=%f,c=%f\n",a,b,c);
printf("s=%f,v=%f\n",s,v);
}
6.(1)输入以下程序代码:(3-6.c)
#include <stdio.h>
void main()
{
char ch1,ch2,ch3;
scanf("%c%c%c",&ch1,&ch2,&ch3);
printf("%d,%d,%d\n",ch1,ch2,ch3);
}
运行程序,先在屏幕中输入ABC回车,查看运行结果,然后重新执行程序,在屏幕中输入A空格B空格C回车,分析运行结果和上一个有什么不同。

运行结果:(输入ABC)
输入A空格B空格C回车
分析:当按照%c字符型输入时,空格也会当做输入的字符,因为%c 是输入单个字符,当输入ABC时,中间即使没有分隔符,系统自动会把第一个字符A送给ch1,按照十进制%d输出ch1就为65,第二个字符B送给ch2,按照十进制%d输出ch2就为66,C送给ch3,按照十进制%d输出ch2就为67,而第二次输入时,也是把A送给
ch1,按照十进制%d输出ch1就为66,可却把后面的空格赋给了ch2,空格的ASCII码为32,因此按照十进制%d输出ch2就为32,后面的B就送给ch3,输出66
(2)将本程序改为(3-7.c)
#include <stdio.h>
void main()
{
char ch1,ch2,ch3;
scanf("%3c%3c%3c",&ch1,&ch2,&ch3);
printf("%c,%c,%c\n",ch1,ch2,ch3);
}
思考并实践:此时应该怎样输入字符,才能在屏幕上输出A,B,C 的结果。

运行结果:
分析:%3c表示输入字符的宽度为3列,因此在输入时应按照A然后空两格,再输入B空两格,输入C空两格才能得到A,B,C的结果。

相关文档
最新文档