实验五 参考答案

合集下载

c程序设计实验参考答案

c程序设计实验参考答案
编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;

实验五 队列的应用(参考答案)

实验五 队列的应用(参考答案)

实验五、队列的应用一、实验原理:一种“先进先出”(FIFO---First In First Out)的数据结构:即插入在队尾一端进行,而删除在队头进行。

键盘缓冲区问题:设计算法实现模拟键盘缓冲区问题。

假设有两个进程同时存在于一个应用程序之中,第一个进程连续在屏幕上显示字符“X”,第二个进程不断检查键盘上是否有输入,若有则读入用户键入的字符,将其保存到键盘缓冲区之中。

程序约定当用户键入一个逗号“,”,则表示第一进程结束,系统开始显示那些在键盘缓冲区中的字符;接着继续执行第一个进程,即,在屏幕上显示字符“X”;当用户输入“;”的时候,刚结束整个程序。

算法提示:为了充分利用缓冲区的空间往往将缓冲区设计成循环队列的结构,并为循环队列结构的缓冲区设置一个队首指针和一个队尾指针。

每输入法一个字符到缓冲区中,就将尾指针后移,链入缓冲区的循环队列之中;每输出一个字符号,就将队头指针前移,将它从缓冲队列中删除。

参考代码:/*键盘缓冲区问题*/#define MAXSIZE 20#define TRUE 1#define FALSE 0#include "stdio.h"#include "conio.h"#include "dos.h"typedef char elemtype;typedef struct{elemtype elem[MAXSIZE];int front, rear;}queuetype;int enque(queuetype *s, elemtype x) /*数据入队列*/{if (( s->rear+1)%MAXSIZE==s->front ) /*队列已满*/return (FALSE);else{s->rear=(s->rear+1) % MAXSIZE;s->elem[s->rear]=x;return(true);}}elemtype delqueue (queuetype *s ) /*数据出队列*/{if (s-front==s->rear) /*队列为空*/return(NULL);else /*队列非空*/{s->front=(s->front+1)%MAXSIZE;return(s->elem[s->front]);}}main(){char ch1,ch2;queuetype *p;int t,f;p=(queuetype *)malloc(sizeof(queuetype));p->front=0;p->rear=0;while(1) /*开始交替执行*/{while(1) /*第一个进程的执行*/{if(kbhit()) /*检测是否有键盘输入*/{ch1=bdos(7,0,0); /*中断调用,键入字符存入ch1*/f=enqueue( p, ch1 ); /*字符入循环队列*/if ( f== FALSE ){printf(" The queue is already full !\n");break;}}if ( ch1==';' || ch1==',' )break; /*第一个进程正常结束情况*/printf("X"); /*执行第一个进程*/}ch2=delqueue(p);while( ch2 != NULL ){putchar(ch2); /*在屏幕上显示输入缓冲区中的内容*/ch2=delqueue(p); /*字符出队列*/}getchar(); /*为看清屏幕内容, 在此暂停, 按回车继续if (ch1==';'||f==FALSE) /*程序结束*/break;else /*继续执行*/ch1=''; /*先置空ch1*/}}。

信号与信号处理实验参考答案

信号与信号处理实验参考答案

信号与信号处理实验参考答案实验⼀熟悉MATLAB 环境2、(2)粗略描绘下列各函数的波形说明:MA TLAB 中有函数ttt c ππsin )(sin = ④ f(t)=sint/tt=-3*pi:0.01*pi:3*pi; t1=t/pi; y=sinc(t1); plot(t,y); hold onplot(t,0)⑤在⾃⼰的⼯作⽬录work 下创建Heaviside 函数的M ⽂件,该⽂件如下:function f=Heaviside(t)f=(t>0) %t>0时f 为1,否则f 为0在命令窗⼝输⼊如下语句,就能绘出u(t)的波形。

t=-1:0.01:3; f=Heaviside(t); plot(t,f) axis([-1 3 –0.2 1.2]) ⑥t=-1:0.01:2;g=Heaviside(t)-Heaviside(t-1); plot(t,g);axis([-1 2 -0.2 1.2]) hold on plot(t,0)4、分别⽤for 和while 循环结构编写程序,求出s=∑=632k k=1+2+22+23+…+262+263并考虑⼀种避免循环的简洁⽅法来进⾏求和。

程序如下: s=1; for k=1:63s=s+2^k;s运⾏结果是:s =1.8447e+019(2)s=1;k=1;while k<=63s=s+2^k;k=k+1;ends运⾏结果:s =1.8447e+019(3)k=0:63;s=sum(2.^k)实验⼆信号的卷积与系统的响应和阶跃响应1.n=0:20;hn=0.9.^n;xn=[0,0 ones(1,8),0,0];yn=conv(hn,xn);stem(yn)3. 利⽤MA TLAB绘制下列信号的卷积积分f1(t)*f2(t)的时域波形。

(1)f1(t)=2[u(t+1)-u(t-1)], f2(t)=u(t+2)-u(t-2)(2)f1(t)=tu(t), f2(t)=u(t)(3)f1(t)=u(t)-u(t-4), f2(t)=sin(лt)u(t);(4)f1(t)=e-2t u(t), f2(t)=e-t u(t)(1) 先编写实现连续信号卷积的通⽤函数sconv(),程序如下:function[f,k]=sconv(f1,f2,k1,k2,p)%计算连续信号卷积积分f(t)=f1(t)*f2(t)%f:卷积积分f(t)对应的⾮零样值向量%k:f(t)的对应时间向量%f1:f1(t)⾮零样值向量%f2:f2(t)⾮零样值向量%k1:f1(t)的对应时间向量%k2:序列f2(t)的对应时间向量%p:取样时间间隔f=conv(f1,f2); %计算序列f1与f2的卷积ff=f*p;k0=k1(1)+k2(1); %计算序列f的⾮零样值的起点位置k3=length(f1)+length(f2)-2; %计算卷积和f的⾮零样值的宽度k=k0:p:((k3-(0-k0)/p)*p); %确定卷积和f⾮零样值的时间向量subplot(2,2,1)plot(k1,f1) %绘制f1(t)title('f1(t)')xlabel('t')ylabel('f1(t)')subplot(2,2,2)plot(k2,f2)title('f2(t)')xlabel('t')ylabel('f2(t)')subplot(2,2,3)plot(k,f);h=get(gca,'position');h(3)=2.5*h(3);set(gca,'position',h) %将第三个⼦图的横坐标范围扩为原来的2.5倍title('f(t)=f1(t)*f2(t)') xlabel('t')ylabel('f(t)')p=0.01;k1=-1:p:1;f1=2*ones(1,length(k1));k2=-2:p:2;f2=ones(1,length(k2));[f,k]=sconv(f1,f2,k1,k2,p)(2)p=0.01;k1=0:p:10;k2=0:p:10;f2=ones(1,length(k2)); [f,k]=sconv(f1,f2,k1,k2,p)第(2)题图上实验⼆信号的卷积与系统的响应1.n=0:20;hn=0.9.^n;xn=stepseq(2,0,20)-stepseq(10,0,20);yn=conv(hn,xn);stem(yn)2.(1)p=0.01;k1=-2:p:2;f1=2*(u(k1+1)-u(k1-1));f2=u(k2+2)-u(k2-2);[f,k]=sconv(f1,f2,k1,k2,p)p=0.01;k1=-1:p:10;f1=k1.*u(k1);k2=k1;f2=u(k2);[f,k]=sconv(f1,f2,k1,k2,p)(3)p=0.01;k1=-4:p:10; f1=u(k1)-u(k1-4);k2=k1;f2=sin(pi*k2).*u(k2); [f,k]=sconv(f1,f2,k1,k2,p)5.已知描述某连续系统的微分⽅程为:y’’(t)+5y’(t)+8y(t)=3f’’(t)+2f(t)绘出系统的冲激响应波形,求出t=0.5s, 1s, 1.5s, 2s系统冲激响应的数值解。

实验五、五水合硫酸铜结晶水的测定

实验五、五水合硫酸铜结晶水的测定

实验五 五水合硫酸铜结晶水的测定一、实验目的1.掌握利用废铜粉制备硫酸铜的方法;2.练习减压过滤、蒸发浓缩和重结晶等基本操作;3.了解结晶水的测定方法,认识物质热稳定性和分子结构的关系。

二、实验原理利用废铜粉灼烧氧化法制备CuSO 4·5H 2O :先将铜粉在空气中灼烧氧化成氧化铜,然后将其溶于硫酸而制得:2Cu + O 2=== 2CuO (黑色)CuO + H 2SO 4 === CuSO 4 + H 2O 由于废铜粉不纯,所得CuSO 4溶液中常含有不溶性杂质和可溶性杂质FeSO 4、Fe 2(SO 4)3及其他重金属盐等。

Fe 2+ 离子需用氧化剂H 2O 2溶液氧化为Fe 3+ 离子,然后调节溶液pH ≈4.0,并加热煮沸,使Fe3+ 离子水解为Fe(OH)3沉淀滤去。

其反应式为 2Fe 2+ + 2H + + H 2O 2 === 2Fe 3+ + 2H 2O Fe 3+ + 3H 2O === Fe(OH)3↓ + 3H + CuSO 4·5H 2O 在水中的溶解度,随温度的升高而明显增大,因此粗硫酸铜中的其他杂质,可通过重结晶法使杂质在母液中,从而得到较纯的蓝色水合硫酸铜晶体。

水合硫酸铜在不同的温度下可以逐步脱水,其反应式为CuSO 4·5H 2O === CuSO 4·3H 2O + 2H 2O CuSO 4·3H 2O === CuSO 4·H 2O + 2H 2O CuSO 4·H 2O === CuSO 4 + H 2O 1 mol CuSO 4结合的结晶水的数目为24HOCuSO nn 。

三、实验仪器及试剂托盘天平,瓷坩埚,泥三角,酒精灯,烧杯(50mL ),电炉,布氏漏斗,吸滤瓶,精密pH 试纸,蒸发皿,表面皿,水浴锅,量筒(10mL )。

废铜粉, H 2SO 4(2mol ·L -1), H 2O 2(3%), K 3[Fe(CN)6](0.1mol ·L -1), NaOH(2mol ·L -1),无水乙醇。

实验思考题参考答案(2)

实验思考题参考答案(2)
1、影响豆豉鲮鱼质量的因素有哪些? 原料选择与整理、盐腌、清洗、调味汁的配制、油炸、 浸调味汁、装罐、排气及密封、杀菌和冷却。 2、油炸调味的关键问题是什么? 油炸的关键是油炸程度的掌握,要炸至鱼体呈浅茶褐色, 炸透而不过干为准;调味的关键是浸泡时间,以40s 为宜。
ቤተ መጻሕፍቲ ባይዱ
实验七
脱水蒜片的制作
1、蒜片护色的原理是什么? • 使蔬菜处于碱性环境中,防止蔬菜体内叶绿素在酸性条 件下被破坏。
实验八 糖水桔子罐头的制作
1、糖水水果加工中变色的主要因素有哪些?怎样防止变 色? • 原料的品种和成熟度、加工和杀菌的温度、成品储藏的 温度。 • 控制原料的品种和成熟度;严格各工序的操作;在罐内 加入某些保护剂或酶类。
实验五 蛋黄酱的制作 1、各组分在蛋黄酱中的作用是什么? 蛋黄在该体系中发挥乳化剂的作用;油、醋、盐、糖除调 味的作用以外,还在不同程度上起到防腐、稳定产品的作 用;香辛料主要是增加产品的风味。 2、乳化的操作条件对产品的质量有何影响? 影响产品的稠度和口感。
实验六 调味类罐头(豆豉鲮鱼)的制作 调味类罐头(豆豉鲮鱼)

工程力学实验报告答案

工程力学实验报告答案

一、实验目的1. 了解工程力学实验的基本方法和步骤。

2. 通过实验,掌握力学基本理论在工程实际中的应用。

3. 培养实验操作技能,提高实验数据分析能力。

二、实验内容1. 材料力学实验:拉伸试验、压缩试验、弯曲试验。

2. 建筑力学实验:静力平衡实验、超静定结构受力分析实验。

三、实验步骤1. 实验一:拉伸试验(1)将试样固定在拉伸试验机上,调整试验机至预定位置。

(2)缓慢加载,记录加载过程中的力值和位移值。

(3)观察试样变形情况,记录断裂位置。

(4)分析试验数据,绘制拉伸曲线,计算弹性模量、屈服强度等指标。

2. 实验二:压缩试验(1)将试样固定在压缩试验机上,调整试验机至预定位置。

(2)缓慢加载,记录加载过程中的力值和位移值。

(3)观察试样变形情况,记录断裂位置。

(4)分析试验数据,绘制压缩曲线,计算抗压强度、弹性模量等指标。

3. 实验三:弯曲试验(1)将试样固定在弯曲试验机上,调整试验机至预定位置。

(2)缓慢加载,记录加载过程中的力值和位移值。

(3)观察试样变形情况,记录断裂位置。

(4)分析试验数据,绘制弯曲曲线,计算抗弯强度、弹性模量等指标。

4. 实验四:静力平衡实验(1)搭建静力平衡实验装置,调整实验参数。

(2)观察实验现象,记录实验数据。

(3)分析实验数据,验证静力平衡原理。

5. 实验五:超静定结构受力分析实验(1)搭建超静定结构实验装置,调整实验参数。

(2)观察实验现象,记录实验数据。

(3)分析实验数据,验证超静定结构受力分析原理。

四、实验结果与分析1. 拉伸试验根据实验数据,绘制拉伸曲线,计算弹性模量E=...(单位:MPa),屈服强度σs=...(单位:MPa),抗拉强度σb=...(单位:MPa)。

2. 压缩试验根据实验数据,绘制压缩曲线,计算抗压强度σc=...(单位:MPa),弹性模量E=...(单位:MPa)。

3. 弯曲试验根据实验数据,绘制弯曲曲线,计算抗弯强度σb=...(单位:MPa),弹性模量E=...(单位:MPa)。

初中化学九年级《实验五托盘天平的使用》(化学-人教版-九年级上册)

初中化学九年级《实验五托盘天平的使用》(化学-人教版-九年级上册)

实验五托盘天平的使用(化学-人教版-九年级上册)总分数22分时长:不限题型单选题题量11总分221(2分)(2016常德市)某同学欲配制50g 5%的氯化钠溶液,下列说法中正确的是()A.用蒸馅水洗涤试剂瓶后立即盛装配好的氯化钠溶液B.用500mL的烧杯量取所需要的水C.用托盘天平准确称取氯化钠固体2.5gD.氯化钠固体溶解时用玻璃棒搅拌的目的是增大其在水中的溶解度2(2分)(2017常德中考)下列关于水和溶液的说法中不正确的是()A.用肥皂水可以区分软水和硬水B.净化水的常用方法有:吸附、沉淀、过滤、蒸馅C.配制6%氯化钠溶液的先后步骤是:称量、计算、溶解D.地球上总的水储量很大但可利用的淡水资源很少3(2分)(2018衡阳市中考)下列实验装置或操作正确的是()熄灭酒精灯实验室制取二氧化碳读取液体体积NaCl称取一定质量的氯化钠4(2分)(2018怀化市中考)下列实验方法正确的()A.将氯化钠固体直接放在天平的右盘称量B.将pH试纸浸入到待测液中,测溶液的pHC.粗盐提纯实验过程中,蒸发结晶时,在蒸发皿中出现较多量固体时停止加热D.过滤时用玻璃棒在漏斗中搅拌以加速过滤5(2分)(2018益阳市中考)下列基本实验操作正确的是()灼热的蒸发皿,桌面蒸发皿的放置检查气密性称量NaCl6(2分)(2017邵阳中考)在“粗盐难溶性杂质的去除”实验中,操作步骤为溶解、过滤、蒸发、计算产率。

下列各步骤中的一些做法正确的是()A.溶解:用玻璃棒搅拌以加速溶解B,过滤:直接将粗盐水倒入漏斗中C.蒸发:等蒸发皿中水分蒸干便停止加热D.计算产率:将精盐直接转移到天平的托盘上称量7(2 分)(2017岳阳中考)下列实验基本操作正确的是(A.滴加液体B.--D读取'液体体积C.测定浴'液pH氢氧化钠固体称量氢氧化钠固体8(2分)(2016娄底市)托盘天平左、右两边各放一只质量相等的烧杯,在两只烧杯中加入等质量、等质量分数的稀盐酸,此时天平保持平衡。

数据库系统与应用教程(刘金岭)实验五参考答案

数据库系统与应用教程(刘金岭)实验五参考答案

实验四简单查询和连接查询2. 简单查询实验用Transact-SQL语句表示下列操作,在“学生选课“数据库中实现其数据查询操作:(1) 查询数学系学生的学号和姓名。

select sno,snamefrom Swhere Sdept='MA'(2) 查询选修了课程的学生学号。

select distinct(sno)from sc;(3) 查询选修课程号为‘C2’的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

select distinct(sno),gradefrom scwhere cno='C2'order by grade desc,sno asc;(4) 查询选修课程号为‘C2’的成绩在80-90 分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。

select distinct(sno),grade*0.8 as'sore'from scwhere cno='C2'and grade between 80 and 90;(5) 查询数学系(MA)或计算机科学系(CS)姓张的学生的信息。

select*from Swhere dept in('MA','CS')and sname like'张%';(6) 查询缺少了成绩的学生的学号和课程号。

select sno,cnofrom scwhere grade is null;3. 连接查询实验用Transact-SQL语句表示,并在“学生选课”数据库中实现下列数据连接查询操作:(1) 查询每个学生的情况以及他(她)所选修的课程。

select S.*,amefrom S JION sc ON s.sno=sc.sno JION c ON o=o(2) 查询学生的学号、姓名、选修的课程名及成绩。

select s.sno,sname,cname,gradefrom S JION sc ON s.sno=sc.sno JION c ON o=o(3) 查询选修‘离散数学’课程且成绩为90 分以上的学生学号、姓名及成绩。

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

实验五字符数组(参考答案)
1、设计程序sy5-1.c,编写程序实现对4个字符串的升序排序。

算法分析:
4个字符串的升序排序,和4个整数的排序一样,可以用冒泡法,唯一不同的是在两两比较时要用字符串的比较函数,而在条件满足时,交换的三条赋值语句,同样需要用字符串的赋值函数。

参考答案:
# include <stdio.h>
# include <string.h>
void main()
{
char str[20],s[4][20];
int i,j;
printf("Input 4 strings:\n");
for(i=0;i<4;i++)//输入字符串
gets(s[i]); //gets函数的参数s[i],表示第i行的首地址,即给第i行赋值for(j=0;j<3;j++) //用冒泡法处理字符串的排序
for(i=0;i<3-j;i++)
if(strcmp(s[i],s[i+1])>0) //strcmp字符串的比较函数
{ strcpy(str,s[i]); //strcmp字符串的比较函数
strcpy(s[i],s[i+1]);
strcpy(s[i+1],str);
}
printf("The sorted string:\n");
for(i=0;i<4;i++)
printf("%s\n",s[i]); //可以用puts(s[i])代替
}
运行结果:
2、设计程序sy5-2.c,写一程序,要求将字符串a的第n个字符之后的内容由字符串b替代,a,b,n由运行时输入。

算法分析:
要将字符串a的第n个字符之后的内容由字符串b替代,这时把字符串看成数组来处理,a的第n个
字符之后即字符数组下标为i=n开始用字符数组b[0],b[1]------b[j]---来替代,直到b数组的‘\0’结束,注意这个循环没有写入b数组的’\0’,所以赋值结束后,还得给字符数组a[i]赋值为’\0’。

参考答案:
# include <stdio.h>
# include <string.h>
void main()
{
char a[100],b[100];
int n,i,j;
printf("Input string a:");
gets(a);
printf("Input string b:");
gets(b);
printf("Input n:");
scanf("%d",&n);
for(i=n,j=0;b[j]!='\0';i++,j++) //a的第n个字符之后的内容由字符串b替代
a[i]=b[j];
a[i]='\0'; //给新的字符数组a末尾加上结束标志’\0’
printf("The result is :%s\n",a);
}
运行结果:
3、设计程序sy5-3.c,写一程序,输入一个字符串,要求将该字符串所有奇数位置上的字母转换为大写字母(若该位置上不是小写字母则不转换),结果输出到显示器。

算法分析:
把字符数组的奇数位置即从小标为i=0,2,4,6---直到s[i]=’\0’结束,逐一去判断当前位置的s[i]是否是小写字母,如果是则转换。

参考答案:
# include <stdio.h>
# include <string.h>
void main()
{
char s[100];
int i;
printf("Input a string:");
gets(s);
for(i=0;s[i]!='\0';i+=2) //i=i+2—步长,即所有的奇数位置
if(s[i]>='a'&&s[i]<='z') //判断s[i]是否是小写字母,如果是转换为大写字母
s[i]-=32;
printf("The result is:%s\n",s);
}
运行结果:
4、设计程序sy5-4.c,写一程序,要求将一个数字字符串转换为一个整数。

例如,有字符串“-1234567”程序将它转换为整数-1234567。

算法分析:
输入数字字符串后,首先要分析整数还是负数,然后逐一去遍历字符串的每一位数字字符并转换为数字并进行累加。

参考答案:
# include <stdio.h>
# include <string.h>
void main()
{
char s[100];
int i=0;
long n=0; //输入的数值字符串长度未限制,所以n定义为长整数
printf("请输入数值字符串付给字符数组s:");
gets(s);
if(s[0]=='-') //如果条件成立,有效数值小标就从1开始
i=1;
for( ; s[i]!='\0';i++) //将字符串中的所有数字字符转换为整数
n=n*10+(s[i]-'0'); //n为绝对值
if(s[0]=='-') //如果是负数,把n还原
n=-n;
printf("n=%ld\n",n);
}
运行结果:
5、设计程序sy5-5.c,有3个字符串,要求找出其中的最小者。

算法分析:
3个字符串的求最值算法和求3个整数的最小值的方法相同,先求前两个数的最小值,再将最小值和第三个数比较。

不同的是比较和赋值时一定要用字符串的比较和赋值函数。

参考答案:
#include <stdio.h>
#include <string.h>
void main()
{
char string[20],str[3][20];
int i;
for(i=0;i<3;i++) //等待从键盘接收3个字符串
gets(str[i]); //str[i]是一维字符数组名
if(strcmp(str[0],str[1])<0) //求前两个字符串的最小值存在数组string中strcpy(string,str[0]);
else
strcpy(string,str[1]);
if(strcmp(str[2],string)<0) //再将前两个的最小值和第三个字符串比较strcpy(string,str[2]);
printf("最小字符串:%s",string);
printf("\n");
}
运行结果:。

相关文档
最新文档