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

信号与信号处理实验参考答案实验⼀熟悉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系统冲激响应的数值解。
实验六:怎样用滑动变阻器改变灯泡亮度

实验:怎样用滑动变阻器改变灯泡亮度
A.连入变阻器时,应该使滑片位于变阻器值最大的位置。
B.开关、电流表应该接在靠近电源电流流出的一端。
C.连接电路时,应该先将开关断开。
D.电流表应该与灯泡串联,并且使它的正接线柱靠近电源正极一端。
2、在探究“用滑动变阻器改变灯泡亮度”的实验中,小王把开关、小灯泡、滑动变阻器、电源用导线连接好后,闭合开关,小灯泡亮了;他想改变小灯泡的亮度;但无论怎样调节滑动变阻器,小灯泡的亮度就是不变。
(1)请你指出小王在实验中关于滑动变阻器的连接可能存在的两种错误方式:
①__________________________________________________________________________
②__________________________________________________________________________
(2)请你用笔画线代替导线,将实物图中的滑动变阻器接在A、B两接线柱上,使
滑动变阻器能改变小灯泡的亮度。
3、如图所示,是小明探究怎样用滑动变阻器改变灯泡亮度设计的实验电路图,当开关S闭合,要使灯泡变亮,滑动变阻器的滑片P应向哪一端移动?
参考答案:
1、B
2、(1)①导线都接了滑动变阻器的上接线柱。
②导线都接了滑动变阻器的下接线柱。
(2)滑动变阻器的接线柱一上一下连到A、B接线柱。
3、向左端或(A端)移动。
大学物理实验课后答案

实验一霍尔效应及其应用【预习思考题】1.列出计算霍尔系数、载流子浓度n、电导率σ及迁移率μ的计算公式,并注明单位。
霍尔系数,载流子浓度,电导率,迁移率。
2.如已知霍尔样品的工作电流及磁感应强度B的方向,如何判断样品的导电类型?以根据右手螺旋定则,从工作电流旋到磁感应强度B确定的方向为正向,若测得的霍尔电压为正,则样品为P型,反之则为N型。
3.本实验为什么要用3个换向开关?为了在测量时消除一些霍尔效应的副效应的影响,需要在测量时改变工作电流及磁感应强度B的方向,因此就需要2个换向开关;除了测量霍尔电压,还要测量A、C间的电位差,这是两个不同的测量位置,又需要1个换向开关。
总之,一共需要3个换向开关。
【分析讨论题】1.若磁感应强度B和霍尔器件平面不完全正交,按式(5.2-5)测出的霍尔系数比实际值大还是小?要准确测定值应怎样进行?若磁感应强度B和霍尔器件平面不完全正交,则测出的霍尔系数比实际值偏小。
要想准确测定,就需要保证磁感应强度B和霍尔器件平面完全正交,或者设法测量出磁感应强度B和霍尔器件平面的夹角。
2.若已知霍尔器件的性能参数,采用霍尔效应法测量一个未知磁场时,测量误差有哪些来源?误差来源有:测量工作电流的电流表的测量误差,测量霍尔器件厚度d的长度测量仪器的测量误差,测量霍尔电压的电压表的测量误差,磁场方向与霍尔器件平面的夹角影响等。
实验二声速的测量【预习思考题】1. 如何调节和判断测量系统是否处于共振状态?为什么要在系统处于共振的条件下进行声速测定?答:缓慢调节声速测试仪信号源面板上的“信号频率”旋钮,使交流毫伏表指针指示达到最大(或晶体管电压表的示值达到最大),此时系统处于共振状态,显示共振发生的信号指示灯亮,信号源面板上频率显示窗口显示共振频率。
在进行声速测定时需要测定驻波波节的位置,当发射换能器S1处于共振状态时,发射的超声波能量最大。
若在这样一个最佳状态移动S1至每一个波节处,媒质压缩形变最大,则产生的声压最大,接收换能器S2接收到的声压为最大,转变成电信号,晶体管电压表会显示出最大值。
实验思考题参考答案(2)

ቤተ መጻሕፍቲ ባይዱ
实验七
脱水蒜片的制作
1、蒜片护色的原理是什么? • 使蔬菜处于碱性环境中,防止蔬菜体内叶绿素在酸性条 件下被破坏。
实验八 糖水桔子罐头的制作
1、糖水水果加工中变色的主要因素有哪些?怎样防止变 色? • 原料的品种和成熟度、加工和杀菌的温度、成品储藏的 温度。 • 控制原料的品种和成熟度;严格各工序的操作;在罐内 加入某些保护剂或酶类。
实验五 蛋黄酱的制作 1、各组分在蛋黄酱中的作用是什么? 蛋黄在该体系中发挥乳化剂的作用;油、醋、盐、糖除调 味的作用以外,还在不同程度上起到防腐、稳定产品的作 用;香辛料主要是增加产品的风味。 2、乳化的操作条件对产品的质量有何影响? 影响产品的稠度和口感。
实验六 调味类罐头(豆豉鲮鱼)的制作 调味类罐头(豆豉鲮鱼)
实验6-传感器之火焰篇

火焰是由各种燃烧生成物、中间物、高温气体、碳氢物质以及无机物质为主体的高温固体微粒构成的。
火焰的热辐射具有离散光谱的气体辐射和连续光谱的固体辐射。
不同燃烧物的火焰辐射强度、波长分布有所差异,但总体来说,其对应火焰温度的 1 ~ 2 μ m 近红外波长域具有最大的辐射强度。
例如汽油燃烧时的火焰辐射强度的波长。
火焰传感器是机器人专门用来搜寻火源的传感器,当然火焰传感器也可以用来检测光线的亮度,只是本传感器对火焰特别灵敏。
火焰传感器利用红外线对对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器中,中央处理器根据信号的变化做出相应的程序处理。
火焰传感器是探测在物质燃烧时,产生烟雾和放出热量的同时,也产生可见的或大气中没有的不可见的光辐射。
火焰传感器又称感光式火灾传感器,它是用于响应火灾的光特性,即探测火焰燃烧的光照强度和火焰的闪烁频率的一种火灾传感器。
火焰传感器实验简介6.1讯方公司传感器实验2 1、通过该实验项目,学生能够了解火焰传感器的硬件电路和工作原理;2、通过该实验项目,学生能够学会编写火焰传感器的程序。
1、编写一个读取火焰传感器输出电平信号的程序;2、将火焰检测状态做简单的处理显示,正常无火焰状态为0,检测到火焰状态为1;3、用按键KEY1控制ZIGBEEN是否发送数据。
6.4.1硬件部分1、ZIGBEE调试底板一个;图6-1 ZIGBEE调试底板2、20PIN转接线一条和带USB的J-Link仿真器一个;图6-2 J-Link仿真器实验内容6.3实验目的6.2实验设备6.4电源开关电源传感器C端口指示灯 2J-LINK接口ZigBee_DEBUG复位键节点按键拨码开关ZigBe按键红外发射指示灯1ZigBee复位键可调电阻传感器A端口传感器B端口方口USB线,另一端连接电上电指示灯20PIN转接线,另一端接转接板实验六 传感器之火焰篇33、转接板一个;图 6-3 转接板4、9~12V 电源适配器2个;图6-4 电源适配器5、带普通USB 线的ZIGBEE 仿真器一个;图6-5 ZIGBEE 仿真器普通USB 线10PIN 转接线20PIN 转接线接口10PIN 转接线接口串口接口电源(上)和状态指示灯讯方公司 传感器实验4 6、智能网关一台;图6-6 智能网关7、ZIGBEE 模块两个;图 5-7 ZIGBEE 模块8、火焰传感器一个;图 6-8 火焰传感器ZigBee 模块组合接口电源及开关开关按钮显示屏SD 卡USB 下载数据线+5V 输入 TTL 信号输出 GND 输入输出信号指示灯,低有效火焰感应探头模拟信号输出灵敏度调节旋钮,顺时针增大实验六 传感器之火焰篇59、10PIN 转接线和传感器连接线各一条。
实验指导-病例讨论

参考答案:P83-85
肝脏肿大:肝细胞变性—细胞水肿
胞质疏松化→气球样变性
肝区疼痛:肝脏肿大→包膜紧张→ 压迫或牵 拉神经末梢→疼痛 肝功能异常:
肝细胞体积增大→肝血窦受压变窄→胆汁淤积→ 胆红素进入血液→血清胆红素↑ 肝细胞坏死→胞内酶进入血液→血清谷丙转氨酶↑
实验二(病例1)
实验室检查:血常规:乙肝五项均(+),白 蛋白28g/l,球蛋白42g/l,白/球蛋白比0.66, 总胆红素21μmol/l,谷丙转氨酶96U。 讨论:P69-71 1.患者最有可能是什么病,列出其诊断依据。 肝硬化。乙肝病史、饮酒史+门脉高压症表现、 肝功能障碍表现。
参考答案:
讨论:
什么原因引起患者的死亡? P27:肺栓塞 请根据学过的病理学知识分析本例死亡原因 P24+P27:癌肿组织坏死脱落→晚期恶性肿 瘤广泛转移→血液凝固性增高→形成血栓→ 肺动脉主干栓塞→后果严重(因急性呼吸、 循环衰竭而死亡)
实验二(病例2)
男性,20岁,腹痛18小时入院。 体检:板状腹、压痛及反跳痛明显。 手术探查:见距小肠Treitz’s韧带4.5米处肠 扭转,肠管坏死发黑。 临床诊断:肠扭转。 手术切除肠管观察:肠壁增厚呈暗红色出血 坏死,肠黏膜皱襞消失,肠腔内充满圆柱状 血凝块,浆膜失去正常光泽。 病理诊断:小肠出血性坏死
病史:患者,男性,27岁,潮热、盗汗、无 力、食欲减退2个月,咳嗽1个月,咯血1天 入院。 X线检查见左锁骨下有边缘清晰的增生结节 及边缘模糊、中心密度较高的片状致密阴影。 痰液结核菌培养阳性。 临床诊断:浸润型肺结核。 讨论:解释X线影像的表现。
参考答案
P88-89 边缘清晰的增生结节:局灶型肺结核(最早期 病变) 边缘模糊、中心密度较高的片状致密阴影:浸 润型肺结核(最常见类型)
小学科学实验题目与参考答案

小学科学实验题目与参考答案实验一:魔法饮料材料:透明杯、水、溶液A(酸性溶液)、溶液B(碱性溶液)、红、蓝、黄三种食用色素实验步骤:1. 在透明杯中倒入一杯水。
2. 将红色食用色素滴入水中,搅拌均匀,观察颜色变化。
3. 将蓝色食用色素滴入水中,搅拌均匀,观察颜色变化。
4. 将黄色食用色素滴入水中,搅拌均匀,观察颜色变化。
5. 分别将溶液A和溶液B滴入不同的杯中,观察颜色变化。
参考答案:1. 当加入红色食用色素时,水的颜色变为红色。
2. 当加入蓝色食用色素时,水的颜色变为蓝色。
3. 当加入黄色食用色素时,水的颜色变为黄色。
4. 当将溶液A滴入杯中时,若溶液A为酸性溶液,则水的颜色不变;若溶液A为碱性溶液,则水的颜色会发生变化。
5. 当将溶液B滴入杯中时,若溶液B为碱性溶液,则水的颜色不变;若溶液B为酸性溶液,则水的颜色会发生变化。
实验二:水的沸点材料:温度计、烧杯、火源、水实验步骤:1. 将烧杯中注入适量的水。
2. 将温度计插入水中。
3. 将烧杯放置在火源上,用火加热水。
4. 在水受热的过程中,观察温度计上的温度变化。
参考答案:1. 当水开始受热时,温度会逐渐上升。
2. 当水温达到100摄氏度时,水开始沸腾。
3. 沸腾时水的温度保持不变,直到水完全蒸发。
4. 实验结果表明,水的沸点为100摄氏度。
实验三:电流的传导材料:电池、导线、小灯泡、图钉、纸夹实验步骤:1. 将电池的正极和负极用导线连接起来。
2. 在导线的末端连接小灯泡。
3. 用图钉将另一端的导线固定在纸夹上。
4. 等待片刻,观察小灯泡是否亮起。
参考答案:1. 当电池的正极和负极被导线连接后,电流开始传导。
2. 如果小灯泡亮起,则说明电流成功通过导线传导到小灯泡,小灯泡发出光亮。
3. 如果小灯泡不亮或闪烁,说明电流无法正常传导,可能是导线接触不良或电池电量不足所致。
通过以上的实验题目与参考答案,我们可以帮助小学生们更好地理解科学知识,培养他们的动手实践能力和探索精神。
沪教版(全国)化学九年级下册第六章溶解现象 基础实验6 粗盐的初步提纯 巩固练习含答案

初中化学沪教版(全国)九年级下册第六章溶解现象基础实验6粗盐的初步提纯巩固练习一、选择题1.粗盐提纯的实验中,有关仪器的选择及目的均正确的是A.药匙:取用粗盐B.量筒:溶解粗盐C.分液漏斗:制作过滤器D.表面皿:蒸发滤液2.粗盐提纯实验中的一些操作,包含化学变化的是A.量取液体B.称量固体C.过滤D.点燃酒精灯3.已知:20℃时,NaC1的溶解度为36g/100g水,现称取10g粗盐,经过溶解、过滤、蒸发、转移等步骤,除去泥沙得到尽可能多的精盐。
下列操作正确且合理的是A.A B.B C.C D.D4.下列除杂可行的是( )A.A B.B C.C D.D5.实验室蒸发食盐水,不需要用到的仪器是A.蒸发皿B.玻璃棒C.酒精灯D.试管夹6.玻璃棒在化学实验中有多种用途,下列操作使用错误的是A.配制溶液时搅拌,加速溶解B.捣碎固体药品C.蒸发过程中搅拌,使受热均匀D.沿玻璃棒倾倒液体7.下列实验操作不能..达到实验目的的是()A.通过溶解、过滤、蒸发操作去除粗盐中难溶性杂质B.称量2.5g氯化钠、量取47.5mL水溶解配制50g5%的氯化钠溶液C.向某固体中加入稀盐酸检验固体中是否含有碳酸盐D.将燃着的木条伸入集气瓶中区分氧气和空气两瓶气体8.下列有关实验操作的分析中,正确的是()A.配制氯化钠溶液:量取水时俯视读数,导致配制溶液浓度偏小B.测定空气中氧气含量:红磷量不足,导致测定结果偏低C.排水法收集氧气:导管口刚有气泡冒出就收集,则收集的氧气更纯净D.去除粗盐中难溶性杂质:蒸发滤液时待蒸发皿中滤液蒸干才停止加热,这样产率会更高9.下列有关“粗盐中难落性杂质去除的实验”说法中正确的是()A.溶解:向10m水中逐渐加入粗盐至恰好形成饱和溶液B.过滤:为了加快过滤速度,应该用玻璃棒在漏斗中不断搅拌C.蒸发:待蒸发皿中水分完全蒸干才能停止加热D.误差分析:量取10m水时仰视读数,会使精盐产率偏低10.如图所示的转化关系(“→”表示反应一步实现,部分反应物和反应条件略去),下列各组物质按照甲、乙、丙的顺序不符合要求的是A.C、CO2、COB.KOH、K2SO4、KNO3C.H2O2、H2O、O2D.Ca(OH)2、CaCO3、CaCl211.在“一定质量分数的氯化钠溶液的配制”和“粗盐中难溶性杂质的提纯两个实验中,下列说法错误的是()A.溶液配制步骤包括计算、称量、溶解、装瓶贴签B.两个实验中都需要玻璃仪器有烧杯、玻璃棒C.在粗盐提纯中蒸发时,有大量固体析出时就停止加热,用余热蒸干D.配制溶液时,量取水时仰视读数会导致溶质的质量分数偏大12.化学科学的发展离不开定量研究.下列有关定量实验的误差分析中,不正确的是()A.配制10%的氯化钠溶液时,若烧杯内有水会导致所配溶液溶质的质量分数偏小B.粗盐提纯实验中,若蒸发过程中晶体飞溅会导致测得的氯化钠纯度偏低C.测定空气中氧气含量的实验中,铜粉质量的多少不影响实验结果D.用白磷燃烧探究质量守恒的实验中,白磷质量的多少不影响实验结果13.除去食盐水中氯化钙、氯化镁和硫酸钠杂质得到纯净的食盐的操作过程有①加过量氯化钡溶液②过滤③加过量碳酸钠溶液④蒸发结晶⑤加适量盐酸⑥加过量的氢氧化钠溶液,下列操作顺序不正确的是()A.③①⑥②⑤④B.①⑥③②⑤④C.⑥①③②⑤④D.①③⑥②⑤④14.能依次按溶解、过滤、蒸发三个步骤分离的混合物是()A.混有泥沙的食盐B.碳粉和氧化铜粉C.硝酸钾和氯化钠D.水和醋酸15.下列有关除去粗盐中难溶性杂质并计算产率实验的说法中,正确的是()A.量取水时,必须使视线与凹液面的最低处保持水平B.溶解时,必须将称量出来的粗盐全部倒入烧杯中C.过滤时,必须使玻璃棒紧靠在单层滤纸一边D.蒸发时,必须将所得溶液中的水分完全蒸干二、实验题16.下图为某学生进行粗盐提纯实验中过滤操作的示意图,试回答:(1)漏斗中液体的液面应该(填“高”或“低”)____于滤纸的边缘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六参考答案(参考答案)
(1) 设计程序sy6-1.c,输入一个字符串,将其中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入"Ab,cD",则输出"ab,cd"。
算法分析:
使用for循环遍历字符串,在遍历的过程中,如果该元素是大写字母时,能过str[i]=str[i]+32把大写字母置换成相应小写字母
参考答案:
#include<stdio.h>
#include<string.h>
void main()
{
char str[100];
int i;
printf("请输入一个字符串:");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>='A'&&str[i]<='Z') str[i]=str[i]+32;
printf("输出转换后的字符串:");
puts(str);
}
运行结果:
(2) 设计程序sy6-2.c,输入一个字符串,删除其中所有的小写字母'c'。
例如,若输入字符串"ac abc bcdef",则应输出字符串" a ab bdef"
算法分析:
在原字符数组中删除指定字符时,当遍历的字符不等于要删除的字符时,在原数组中赋值。
注意在赋值的时候,元素下标不同步,所以用j做为删除后的下标,并且是赋一个值,其下标自动加1,所以最后j的值为数组的长度,另外为了保证字符数组能正确输出,所以在最后要人为加一个\0
参考答案:
#include<stdio.h>
#include<string.h>
void main()
{
int i;
char str[20];
printf("请输入一个字符:");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]!='c')str[j++]=str[i]; //将指定字符c删除
str[j]= '\0';
printf("请输入一个字符:");
puts(str);
}
运行结果:
(3) 设计程序sy6-3.c,输入一个字符串,统计其中'a' 到'z' 26 个英文小写字母各自出现的次数。
例如运行时输入字符串:abcdefgabcdeabc 后,则输出的结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
算法分析:
用a数组的a[0](其中0下标是'a'-'a')存放'a'字符的个数,a[1](其中1下标是'b'-'a')存放'b'字符的个数,a[str[i]-'a'](其中str[i]-'a'下标是str[i]字符对应存储个数的下标)存放str[i]字符的个数。
因此在程序中只需用str[i]-'a'作为a下标的元素进行自加即可。
参考答案:
#include<stdio.h>
void main()
{
char str[100];
int i,a[26]={0}; //分别统计26小写字母的个数,初始时都为0个
printf("请输入一个字符串:");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>='a'&&str[i]<='z') //是小写字母才统计
a[str[i]-'a']++; //str[i]-'a'作为a数组下标的元素进行自加,
//即可使相应统计个数的元素值加一for(i=0;i<26;i++) //输出统计结果
printf("%c:%-3d",'a'+i,a[i]);
}
运行结果:
(4) 设计程序sy6-4.c,将一个数字字符串转换为一个整数(不得调用C 语言提供的将字符串转换为整数的函数)。
例如,若输入字符串"-1234",则函数把它转换为整数值-1234。
算法分析:
将数字字符转换成数字的做法是,将该数字字符减去'0'字符,在转换时需要逐个字符判断为数字字符才转换,不是不转换。
为了保证转换的数字为一个原顺序的整数,则把s*10后再把转换后的数字累加入s中。
最后再对字符串中的第一个字符进行判断看是否是‘-’;
如果是,则把s置成-s即可
参考答案:
#include<stdio.h>
void main()
{
char str[100];
int i,s=0;
printf("请输入一个字符串:");
gets(str);
for(i=0;str[i]!='\0';i++) //逐一把每个数字字符转换累加到数s中
if(str[i]>='0'&&str[i]<='9') s=s*10+str[i]-'0';
if(str[0]=='-') s=-s; //判断符号位
printf("result=%d\n",s);
}
运行结果:
(5) 设计程序sy6-6.c,将放在字符串数组中的M 个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如,字符串数组中的M 个字符串为:AAAA BBBBBBB CC 则合并后的字符串的内容应是:AAAABBBBBBBCC。
算法分析:
首先对p串初始化为'\0'再将s中的每个字符串连接在p串的后边。
但要注意将string.h 包含在程序中
参考答案:
#include <stdio.h>
#include <string.h>
#define M 3
#define N 80
main()
{ char s[M][N]={"AAAA","BBBBBBB","CC"},p[100]={'\0'}; //p用来存放合并后的新串int i;
for(i=0;i<M;i++)
strcat(p,s[i]); //字符串连接
printf("\n结果是: \n%s\n",p);
}
运行结果:。