某锅炉场有关实习报告 本文关键词:锅炉,实习报告
某锅炉场有关实习报告 本文简介:转载自:山东华源锅炉有限公司(www.jsfw8.com)实习报告随着生产的发展,工业锅炉由简单到复杂、由低参数到高参数、由单一的品种发展到系列化产品,已经有200多年历史了。锅炉按用途分;电站锅炉、工业锅炉、生活锅炉、船舶锅炉、机车锅炉。按载热介质分;蒸汽锅炉、热水锅炉、汽水两用锅炉、热风炉、有机
某锅炉场有关实习报告 本文内容:
转载自:山东华源锅炉有限公司(www.jsfw8.com)
实习报告
随着生产的发展,工业锅炉由简单到复杂、由低参数到高参数、由单一的品种发展到系列化产品,已经有200多年历史了。锅炉按用途分;电站锅炉、工业锅炉、生活锅炉、船舶锅炉、机车锅炉。按载热介质分;蒸汽锅炉、热水锅炉、汽水两用锅炉、热风炉、有机载热体锅炉。按燃料和热源分;燃煤锅炉、燃油燃气锅炉、燃生物质燃料锅炉、余热锅炉、电热锅炉、原子能锅炉。按本体结构分;水管锅炉、火管锅炉、水火管锅炉、热管锅炉、真空相变锅炉。按介质循环方式分;自然循环锅炉、强制循环锅炉、直流锅炉。按燃烧方式分;层燃锅炉、室燃锅炉、沸腾炉。
锅炉一般有以下部件组成,锅筒;它是用来汇集、贮存、分离汽水和补充给水的。是锅炉设备中最重要的部件。集箱;其作用是联结受热面管、下降管、连通管、排污管等。下降管;其作用是与水冷壁、集箱、锅筒形成水循环回路。它是用较大直径的锅炉钢管制成,一般布置在炉膛外面,不受热。受热面管子〔对流管、水冷壁管〕;它是锅炉的主要受热面,用锅炉钢管制成。过热器;它是把锅筒内出来的饱和蒸汽加热成过热蒸汽,以满足生产工艺的需要。过热器是用耐热合金钢弯制成蛇形管组合而成。再热器;它是将汽轮机高压缸排出的蒸汽再加热到与过热蒸汽相同或相近的温度后,再回到中压缸去作功,以提高电站锅炉的热效率。减温器;它的作用是调节过热蒸汽的温度,将过热蒸汽的温度控制在规定的温度范围内,以确保安全和满足生产需要。有过热器的锅炉均有减温器。省煤器;它的作用是给水进入锅筒之前,预先加热到某一温度〔通常加热到低于饱和温度(40-50℃〕,以降低排烟温度,提高锅炉热效率。空气预热器;它的作用是空气进入炉膛之前,预先把空气加热到某一温度,保持炉膛温度的同时把燃料充分燃烧,降低排烟温度,提高锅炉热效率。燃烧设备;燃烧器、往复炉排、链条炉排、固定炉排、流化床、沸腾炉等。水泵;给锅炉供水,使锅炉稳定运行的作用。鼓、引风机;给炉膛提供足够氧气、使锅炉燃烧稳定的作用。除尘器;降低排烟烟气中的CO2、SO2、粉尘颗粒等含量的作用。此外还有其他锅炉安全附件等等。
锅炉的制造有着严格的工艺,首先是锅筒制造前材料复验及制造过程中的检验项目,锅炉受压元件所用的金属材料及焊接材料应符合有关国家标准和行业标准。材料制造单位必须保证材料的产品质量,并提供产品的质量证明书。制造锅炉受压元件的金属材料必须是镇静钢。对于板材其20℃的伸长率δ5应不小于18﹪,对于碳素钢和碳锰钢室温夏比〔V型缺口试样〕冲击功不低于27J。焊接材料:应当选用符合相应标准规范的焊接材料进行焊接工艺评定,根据工艺评定确定产品使用的焊接材料。锅炉制造、安装、修理、改造单位应当对锅炉用材料按照相关标准进行入厂验收,合格后才能使用。具有下列情形之一的材料可以免理化复验:①用于B级及以下锅炉的碳素钢钢板、碳素钢钢管以及碳素钢焊材;实物标识清晰、齐全,具有满足上述⑴、⑵条要求的质量证明书,并且质量证明书与实物相符。②锅炉制造单位验收人员按照采购技术要求在材料制造单位进行验收,并且在理化检验报告上进行见证确认的材料。锅炉产品焊接前,施焊单位应当对下列焊接接头进行焊接工艺评定:
I:受压元件之间的对接焊接接头;
II:受压元件之间或者受压元件与承载的非受压元件之间连接的要求全焊透的T形接头或角接接头。
②焊接工艺评定应当符合JB/T4708《承压设备焊接工艺评定》的要求,并且应当满足下列要求:
I:A级锅炉锅筒的纵向和环向及集箱的纵向焊缝,当20㎜<板厚≤70㎜时,应当从纵缝检查试板上沿焊缝纵向切取全焊缝金属拉力试样一个;当板厚>70㎜时,应当取全焊缝金属拉力试样二个。试验方法和取样位置可以按照GB/T2653《焊缝及熔敷金属拉伸试验方法》。试验结果应当满足材料规定的Rm或者RD0.2。
II:焊接接头横向拉伸的试验结果应当满足如下要求:
a
若断裂发生在母材上,最小抗拉强度和屈服强度应当不低于母材规定下限值。
b
若断裂发生在焊缝上,最小抗拉强度和屈服强度应当不低于母材规定下限值。
如果母材抗拉强度规定值下限>490Mpa,且焊缝金属的屈服点高于母材规定值,则允许焊缝金属的抗拉强度比母材规定值下限值低19.6Mpa
③A级锅炉锅筒、合金钢材料集箱和管道,如果壁厚≥12㎜〔单面焊焊件厚度≥16㎜〕应做焊缝熔敷金属及热影响区夏比V型缺口室温冲击试验。应从其检查试件上取三个焊接接头的冲击试样。试样缺口应开在有最后焊道的焊缝侧面内,如果有要求,可以开在熔合线或热影响区内。试样的形式、尺寸、加工和试验方法应符合GB/T229《金属夏比冲击试验方法》中V形制品的规定。三个试样的常温冲击及吸收功平均值应当不低于母材规定值,无母材规定值时,应当不低于27J〔试样截面尺寸为10X10㎜〕,并且至多允许有一个试样的冲击吸收功低于上述指标值,但不低于上述指标值的70﹪。对马氏体热强钢,冲击吸收功最低平均值为24J,允许其中一个试样冲击吸收功低于19J。
④接头由不同母材组成时,焊缝金属试验值应当按照上述①~③要求满足较低母材最低规定值。
⑤力学性能试验有某项不合格时,应当从原焊制的检查试件中对不合格项目取双倍试样复验〔对冲击试验项目是再取三个试样复验〕,或者将原检查试件与产品再热处理一次后进行全面复检。
⑥施焊单位应当按照产品焊接要求和焊接工艺评定标准制订用于评定的焊接工艺指导书〔PWPS〕,经过焊接工艺评定试验合格,有焊接工艺评定记录或报告〔PQR〕证实,编制焊接工艺规程〔WPS〕后才能进行焊接生产。
⑦焊接工艺评定完成后,焊接工艺评定报告和焊接工艺评定规程应当经过制造单位焊接责任工程师审核,技术负责人批准后存入技术档案,保存至该工艺评定失效为止。焊接工艺评定试样至少应保存5年。
然后是封头制造,经过材料验收〔复检合格〕→计算下料尺寸→划线→材质号钢印移植→气割下料→刨边→拼接、焊接〔调整焊接电流、电压、焊速等〕→修磨→无损检测→〔检测合格〕打焊工钢印→加热→热压成型→无损检测→确定封头〔管板〕高度→切割多余余量→立车车端面、开坡口→划基准线→〔管板〕划烟管孔→钻管孔→划人孔圈→气割人孔圈位置→焊接人孔圈→打焊工钢印→检查一系列工序。
再次是单节制造;材料验收〔复检合格〕→计算下料尺寸→水焊气割→材质号钢印移植→刨边→预弯→滚圆→焊内直缝〔调整内直缝焊机焊接参数〕→气刨外直缝→焊外直缝〔调整外直缝焊机焊接参数〕→打焊工钢印→校圆
接着是筒体组立;打磨→按图摆放单节→划定心线→组对上心→组对整条环缝→组对封头〔管板〕→检查〔对接偏差、组对间隙、总长度偏差、弯曲度等〕
环缝焊接;调整内环缝焊机焊接参数〔电流、电压、焊接速度〕→焊内环缝→气刨→打磨→调整外环缝焊机焊接参数〔电流、电压、焊接速度〕→焊外环缝→检查→〔焊缝宽度、焊缝余高、直线度、突变〕→打焊工钢印→无损检测〔按JB/T4730.2-2005、II级合格〕→焊缝返修→无损检测→组对终端焊缝→焊内终端焊缝→气刨→打磨→焊外终端焊缝→打焊工钢印→无损检测→返修→无损检测→全检合格转入下道工序。
接着就是焊接参数的相应选择,以及金相检验等等
划线、钻孔;划线孔距按JB1623标准的规定。锅炉焊接管孔尺寸偏差不应超过JB1625标准的规定。把锅筒吊到划线架上→找I心→盘两端周长→找Ⅲ心→按图找1条基准线→按图分横向线→按图尺寸分纵向定位线→打样冲眼→划钻孔圆→划检查孔园→大四个样冲眼→检查划线质量→下转钻孔工序→钻定心孔→钻Φ20㎜基准孔→扩孔→检查。
集箱制造;材料验收〔复检〕→划线→材料钢印移植→切割→加工坡口→拼接→焊接→无损检测→返修→无损检测→加工两端面→缩口→按图找1条基准线→按图分横向线→按图找1条纵向基准线→打样冲眼→划钻孔圆→划检查孔园→大四个样冲眼→检查划线质量→下转钻孔工序→钻定心孔→钻Φ20㎜基准孔→扩孔→检查。
管子弯制;材料验收〔复验;化学成分、拉伸、弯曲、压扁〕→放样→划线切割→管端加工→拼接→焊接→无损检测〔按对接焊接接头总数的10﹪〕→弯制→矫正→通球试验→管端加工→检查。
钢结构件制造;划线→材料钢印移植→切割→坡口加工→拼接→焊接→校正→检查→主型钢置于等高垫铁上〔两端面对齐/保证宽度〕→划线装配→装配定位焊筋板→焊接→检查→盖板和连接板装配定位焊→焊接→打焊工钢印→校正→检查〔全长长度偏差、弯曲度、扭曲度〕
最后砌筑;,烘炉、煮炉;调试。
锅炉以及压力容器与焊接是紧密相连的,因此相应企业对焊接员工有着严格的技术要求,以埋弧自动焊焊接工艺为例,相应焊接工艺参数的影响:主要有焊接电流、焊接电压、焊接速度。焊接电流I;其它条件不变的情况下,增加焊接电流焊缝形状和尺寸都发生变化。
增加焊接电流I,焊缝熔深H几乎与焊接电流成正比。熔宽B、焊缝余高a略有增大。同样大小电流下,改变焊丝直径Φ〔即改变电流密度〕、其它条件相同时,熔深H与焊丝直径Φ约成反比关系。但电流密度极高时〔超过100A/㎜2〕既不存在此关系。因为焊丝熔化量不断增加,熔池中填充金属量增多、熔融金属后排困难、熔深增加量比采用一般电流密度〔30~50
A/㎜2〕的慢,并且随焊接电流的增加、焊丝的熔化量增大有关。当焊接电流增加、焊缝宽度保持不变时;余高加大,使焊缝成形恶化。因此提高焊接电流的同时必须相应地提高电弧电压。焊接电压U;电弧电压与电弧长度成正比,在相同的电弧电压和电流数值时,如果焊剂不同,电弧空间的电场强度也不同,因此电弧长度也可能不同。在其它条件不变的情况下,改变电弧电压U,随着电弧电压的升高,焊缝熔宽B显著增加而熔深H、余高a将略有下降。例如极性不同时熔宽B也不同。焊接速度ν;焊接速度对熔深H和熔宽B有明显的影响。焊接速度较小时〔670
mm/min〕,随焊接速度的增加,弧柱往后倾斜,有利于熔池金属向后流动,故熔深H略有增加。但焊接速度达到一定值后,由于线能量减小的影响增大,因此熔深H和熔宽B都明显减小。在实际生产中在提高焊接速度的同时必须提高焊接电流I和电弧电压U,从而保证一定的熔深H和熔宽B。
工艺因素:焊丝倾角、工件斜度;焊丝的倾斜方向分前倾和后倾二种,倾斜的方向和大小不同,电弧对熔池的力的作用和热的作用不同。焊丝在一定倾角内后倾时电弧力后排熔池金属的作用力减弱,熔池底部液体金属增厚,故熔深H较小,而电弧对熔池前方的母材预热作用加强,故熔宽B增大。工件倾斜焊接时有上坡焊和下坡焊两种情况;上坡焊时,若斜坡角度
β>6°~12°时焊缝余高过大,两侧出现咬边,成形明显恶化。下坡焊的效果与上坡焊相反,当β>6°~8°时,焊缝的熔深H和余高均有减小,而熔宽B略有增加,焊缝成形得到改善。
坡口形式;在其它条件相同时,增加坡口深度H和坡口宽度B,则焊缝熔深H略有增加、熔宽B略有减小、余高和熔合比显著减小。因此通常用开坡口的方法控制焊缝的余高和熔合比。
间隙;在对接焊缝中,改变间隙大小也可能作为调整熔合比的一种手段。间隙大小对熔深H、熔宽B、余高都有一定的影响。在焊接参数不变的情况下增加隙熔深H变大、余高变小、熔宽B略有下降。工件厚度〔T〕和工件散热条件;当熔深H≤〔0.7~0.8〕T时,板厚与散热条件对熔深H的影响很小。但工件的散热条件对熔宽B及余高有明显的影响。用同样的焊接工艺参数在冷态厚板上施焊时,所得的焊缝比在中等厚板上施焊时的焊缝熔宽B减小、余高较大。环焊缝焊丝偏移量;根据锅筒直径大小30~60㎜范围内调整。焊接方向的反方向。
此外,还需要对焊件进行质量检测,通常是做力学性能试验①为检验产品焊接接头的力学性能,应当焊制产品焊接试件,对于焊接质量稳定的制造单位,经过技术负责人批准,可以免做焊接试板。但属于下列情况之一的,应当制作焊接试件
a
工厂首次采用新材料制造的前5台锅炉
b
用合金钢制作的以及工艺要求进行热处理的锅筒或者集箱。C
设计图样要求制作焊接试件的锅炉。②产品焊接试件的要求如下:
a
每个锅筒〔锅壳〕、集箱纵缝应当制作一块焊接试件。b
纵缝焊接试件应当作为产品纵缝的延长部分焊接〔电渣焊除外〕。C
产品焊接试件应当由焊该产品的焊工焊接。试件材料、焊接材料、焊接设备和工艺条件等应当与所代表的产品相同。试件焊成后应当打上焊工和检验员代号钢印d
需要热处理时,试件应当与所代表的产品同炉热处理。e
检查试样的数量、尺寸应当满足制备检验和复验所需要的力学性能试样。③试件经过外观和无损检测检查后,在合格部位取试样。④试件上制取试样的力学性能检验类别、试样数量、取样和加工要求、试验方法、合格指标及复验应当符合JB/T4744《承压设备产品焊接试件的力学性能检验》。⑤焊件的材料为合金钢时,下列焊缝应进行金相检验:
a
工作压力≥3.8
Mpa的锅筒的对接焊缝,工作压力≥9.8
Mpa或者壁温>450℃的集箱、受热面管子和管道的对接焊缝。
b
工作压力≥3.8
Mpa的锅筒、集箱上管接头的角焊缝。⑥金相检验的试样,应当按照下列规定切取:a
锅筒和集箱,从每个检查试件上切取一个试样b
锅炉范围内管道、受热面管子,从每个〔套〕检查试件上切取一个试样。C
锅筒和集箱上管接头的角焊缝,应将管接头分为壁厚>6㎜和≤6㎜两种。对每种管接头,每焊200个,焊一个检查试件,不足200个也应当焊一个检查试件,并沿检查试件中心线切取作金相试件。
⑦金相检验的合格标准为:
a
没有裂纹、疏松。
b
没有过烧组织。C
没有淬硬性马氏体组织。
以上就是我通过这次参观实习及相关技术人员的技术报告所了解到的内容,真的是收获丰富,从感官和理论上都有了很大的提升,为今后相关内容的学习打下了坚实的基础。
山东华源锅炉有限公司(www.jsfw8.com)始建于1968年,持有国家A级锅炉和一、二类压力容器设计制造许可证,销售经理孔俊皓(18769998880)
恭迎全国各界人士来我公司选购各种炉型:余热锅炉,高效煤粉锅炉,水煤浆锅炉,垃圾焚烧锅炉,循环流化床锅炉,生物质锅炉,导热油锅炉,蒸汽锅炉,热水锅炉等
.
篇2:交流同步发电机无载、短路与负载特性实验实习报告
交流同步发电机无载、短路与负载特性实验实习报告 本文关键词:负载,发电机,路与,实习报告,同步
交流同步发电机无载、短路与负载特性实验实习报告 本文简介:电机机械实习报告第次实习缴交日期:同组同学座号:全部共页班别:电三组别:座号:姓名:一.实习项目:交流同步发电机无载、短路与负载特性实验二.实习目的:(一)测定磁场绕阻电阻与电枢绕组每相电阻,做无载饱和特性及短路特性实验,利用实验结果求同步阻抗及短路比.(二)了解同步发电机之负载特性(三)了解同步发
交流同步发电机无载、短路与负载特性实验实习报告 本文内容:
电
机
机
械
实
习
报
告
第
次实习
缴交日期:
同组同学座号:
全部共
页
班别:电三
组别:
座号:
姓名:
一.实习项目:交流同步发电机无载、短路与负载特性实验
二.实习目的:
(一)测定磁场绕阻电阻与电枢绕组每相电阻,做无载饱和特性及短路特性实验,利用实验结果求同步阻抗及短路比.
(二)了解同步发电机之负载特性
(三)了解同步发电机之激磁特性
三.相关知识:
(一)电阻测定
常利用直流压降法测定电组或利用惠斯登电桥或凯尔文双电桥测之.因同步发电机
均利用Y形接线,故先求二线间之电组R,然后再求每相电阻
r
=
R/2(欧姆)
(二)无载饱和曲线
因发电机每相之感应电动势可用下式表示:
Eo
=
4.44fNfψKpKd
(V)
式中
f
:
频率
(Hz)
Kp
:
节距因数
(pitch
factor
)
Kd
:
分布因数
(distribution
factor)
Nf
:
每相串联匝数
ψ
:
每极磁通量
(Wb)
而4.44,f,Kp,Kd,N
均为定数
故Eo
=
KψN
(V),即Eo正比于If及N
如转速维持一定,ψ=NfIf/R
(R:磁阻)故EoαIf/R,而磁阻R为气隙与铁
磁阻之和,气隙之磁阻是固定不变的,而铁磁路之磁阻系随着激磁电流If
所生之磁通密度增加而增加,饱和后,则磁阻R与If不再成正比关系,故Eo与
If之特性曲线如图1-1所示之关系,此Eo-If曲线称为无载饱和曲线
.
(三)短路实验
同步发电机之三个线端经适当的安培计短接
(各相同时短接),在额定的转速下,增加电流磁场If,测定所对应之电枢短路电流Is,则Is和If之关系曲线,为近乎一
直线,此乃因ra
1且越前时,交流发电机之电枢反应所产生的效应将为(A)
交磁与助磁(B)助磁与去磁(C)交磁与去磁(D)助磁
(
)23.同步发电机进相9O°电流产生之电枢反应为(A)正交磁作用(B)去磁
作用(C)增磁作用(D)激磁作用
(
)24.在交流发电机中,若cosθ=0,而电流越前时,其电枢反应所造成的结
果,会使发电机的总磁通(A)被减少(B)不变(C)被增加(D)以上皆非
(
)25.同步机中的电枢反应引起横轴反应时,则电路中(A)功率因数为1(B)功率因数为0,且电感性(C)功率因数为O,且呈电容性(D)功率因数为0,且电阻性
(
)26.同步发电机中的电枢反应只有增磁作用发生时,则电路中(A)功率因数为1
(B)功率因数为0,且为迟相(C)功率因数为0,且为进相(D)以上皆有可能
(
)27.同步发电机于欠激时,向电路供给(A)同相位之电流(B)超前相位之电
流(C)落后相位之电流(D)以上皆有可能
(
)28.若增大交流发电机的场激,则该发电机将(A)吸取越前的电枢电流,其电枢反应为去磁作用(B)吸取滞后的电枢电流,其电枢反应为助磁作用(C)吸取滞后的电枢电流,其电枢反应为去磁作用(D)吸取越前的电枢电流,其电枢反应为助磁作用
(
)29.有台10KVA,100V,作Δ连接的三相交流发电机,其每线电流,应为
(A)173.2A(B)IOOA(C)86.6A(D)57.7A
(
)30.同步机中(A)电枢反应只与负载电流大小有关(B)电枢反应除与负载
电流大小有关外,尚与电流的相位有关(C)同步机中因不要整流换向
故完全没有电枢反应存在(D)电枢反应与负载大小无关
(
)31.下列叙述何者为错误(A)发电机同步电抗为定值(B)功因越低电压调整率越大(C)电枢反应越大,短路电流越小(D)同步发电机短路曲线为一直线
(
)32.同步发电机迟相90°电流产生之电枢反应为(A)增磁作用(B)去磁作
用(C)偏磁作用(D)以上皆非
(
)33.同步机之电枢反应和电枢电流(A)大小有关(B)相位有关(C)大小及
相位有关(d)大小及相位无关
(
)34.交流发电机电枢反应的结果将会(A)增加磁通(B)减少磁通(C)使通
分布变形(D)以上皆可能
(
)35.在交流发电机中,当每相电枢电势滞后电流90°时,电枢反应会产
生(A)去磁效应(B)加磁效应(C)交磁效应(D)以上皆非
(
)36.三相交流同步发电机的电枢反应(A)与负载无关(B)仅与负载大小有
关C)仅与负载的性质有关(D)与负载的大小及性质有关
(
)37.当cosθ=1而电流和电势同相时,设磁通未饱和,电枢反应所造成的
结果,使总磁通量(A)减少(B)增加(C)不变(D)不一定
(
)38.如图所示,设Vn为额定电压,In为额定电流,则交流发电机之短路比Ks
为(A)IFs/Ifo
(B)IFo/Ifs(C)In/Ifs(D)In/Ifo
(二)
同步发电机之激磁特性曲线与负载之功因有何关系?
(三)
同步发电机之外部特性曲线与负载之功因有何关系?
(四)
短路比与同步阻抗有何关系?
(五)
为何同步阻抗曲线(Zs
-
If
曲线)为非直线?
十.实验心得:
十一.老师考评:
14
篇3:计算机上机实习报告
计算机上机实习报告 本文关键词:上机,实习报告,计算机
计算机上机实习报告 本文简介:班级:自本一班学号:201028004姓名:徐艳改错题第1题1、题目要求函数fun的功能是:用递归算法计算斐波拉契级数数列中第n项的值。从第l项起,斐波拉契级数序列为1、1、2、3、5、8、13、21、…;例如:当给n输入7,该项的斐波拉契级数值为13。#includelongfun(intg)/*
计算机上机实习报告 本文内容:
班级:
自本一班
学号:
201028004
姓名:
徐艳
改错题
第1题
1、
题目要求
函数fun的功能是:用递归算法计算斐波拉契级数数列中第n项的值。从第l项起,斐波拉契级数序列为1、1、2、3、5、8、13、21、…;例如:当给n输入7,该项的斐波拉契级数值为13。
#include
long
fun(int
g)
/*************found************/
{
switch(g);
{
case
0:return
0;
/***********found*************/
case
1;case
2:
return
1;
}
return
(fun(g-1)+fun(g-2));
}
main()
{
long
fib;
int
n;
printf(“input
n:
“);
scanf(“%d“,printf(“n=%d/n“,n);
fib=fun(n);
printf(“fib=%d/n/n“,fib);
}
2、
错误分析
?语句swich(g);错误,swich(表达式)后不应该带有“;”,应该为:swich(g)
?语句case
1;case
2:
return
1;错误,case语句常量后应该是“:”,应该为:case:case:return
1;
第2题
一、题目要求
下列给定程序中,函数fun的功能是:将字符串p中的所有字符复制到字符串b中,要求每复制三个字符之后插入一个空格。例如,在调用fun函数之前给字符串a输入ABCDEFGHIJK,调用函数之后,字符串b中的内容则为ABC
DEF
GHI
JK。
#include
void
fun(charp,charb)
{
int
i,k=0;
while(*p)
/**********found********/
{
i=1;
/***********found*********/
while(i
#include
#define
MAXLINE
20
fun
(
charpstr[6])
{
int
i,j
;
charp
;
for
(i
=
0
;
i
0)
{
p
=(pstr
+
i)
;
/**************found**************/(pstr
+
i)
=
pstr
+
j
;(pstr
+
j)
=
p
;
}
}
}
}
main(
)
{
int
i
;
charpstr[6],str[6][MAXLINE]
;
clrscr(
)
;
for(i
=
0;
i
#include
long
fun
(long
num)
/************found************/
{
long
k;
do
{
k*=num%10;
/************found************/
num/=10;
}
while(num);
return
(k);
}
main(
)
{
long
n
;
clrscr()
;
printf(“/Please
enter
a
number:“);
scanf(“%ld“,printf(“/n%ld/n“,fun(n))
;
}
二、错误分析
①k用来存放各位数字的积,初始值应为1,应该为long
k=1;
②除号应用“/“来表示,所以应改为num/=10;
第5题
一、题目要求
下列给定程序中,fun函数的功能是:求出以下分数序列的前n项之和。和值通过函数值返回main()函数。
例如,若n=5,则应输出8.391667。
#include
#include
/**************found**************/
fun(n)
int
n
;
{
int
a=2,b=1,c,k
;
double
s=0.0
;
for(k
=1;k
#include
int
fun(intx,int
y)
{
int
t;
/**********found********/
t=x;x=y;
/************found************/
return(y);
}
main()
{
int
a=3,b=8;
clrscr();
printf(“%d
%d/n“,a,b);
b=fun(
printf(“%d
%d/n“,a,b);
}
二、错误分析
①变量t作为中间变量,然后进行数据交换,因参数x是指针变量,交换时应使用*x,所以应该为t=*x;*x=y;
②确定返回值,根据代码b=fun(8a,b)可以知道返回值将赋给变量b,而b中应存放交换前**中的值,所以函数应返回变量t,所以应该为return(t);
第7题
一、题目要求
下列给定程序中,函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给numl和num2分别输入49和2l,则输出的最大公约数为7;若给numl和num2分别输入27和81,则输出的最大公约数为27。
#include
int
fun(int
a,int
b)
{
int
r,t;
if(a
#include
void
fun
(long
s,longt)
{
int
d;
long
sl=1;
/************found************/
t
=
0;
while
(
s
>
0)
{
d
=
s%10;
/************found************/
if
(d%2
==
0)
{t
=
d
sl
+t;
sl=
10;
}
s
/=
10;
}}
main()
{
long
s,t;
clrscr();
printf(“/nPlease
enter
s:“);
scanf(“%ld“,fun(s,printf(“The
result
is:
%ld/n“,t);
}
二、错误分析
①变量t是指针变量,所以对t进行赋初值0是不对的。因为t指向的是存放新数的变量,所以此处应给新数赋初值0,即*t=0;
②变量d表示数s各个位上的数,此处的if条件应为判断d是否为奇数,所以此处应为if
(d%2
!=
0)
第9题
一、题目要求
下列给定程序中,函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位8进制数字。例如,若输入77777,则输出将是32767。
#include
int
fun(charp)
{
int
n;
/*******found*********/
n=*p-
o
;
p++;
while(*p!=0)
/********found********/
{
n=n*7+*p-
o
;
p++;
}
return
n;
}
main()
{
char
s[6];
int
i;
int
n;
printf(“enter
a
string(ocatal
digits):“);
gets(s);
if(strlen(s)>5){
printf(“error:
string
too
longer!/n/n“);
exit(0);}
for(i=0;s[i];i++)
if(s[i]
7
)
{
printf(“error:%c
not
is
ocatal
digits!/n/n“,s[i]);
exit(0);}
printf(“the
original
string:“);
puts(s);
n=fun(s);
printf(“/n%s
is
convered
to
integer
number:
%d/n/n“,s,n);
}
二、错误分析
①“0“和“1“是字符串中的数字字符,为了进行数字运算,必须要将数字字符转换为数字,用数字字符减去字符
0
的ASCII码,就得到对应的数字。题中给出的是“o“,不是“0“,所以此处为n=P-
0
;
②要在一个八进制数的最后加上一位,原来各个位上的数上升一位,只需将原数乘以8再加上个位数,所以此处为n=n*8+*P-
0
;
第10题
一、题目要求
下列给定程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。
#include
#include
int
fun(
int
k
)
{
int
m=0,mc=0,j,n;
while((k
>=2)
for
(i=0;
i___3___)
{
min
=
a[j];
pn
=
j;
}
}
if
(pn
!=
i)
{
t
=
a[i];
a[i]
=
min;
a[pn]
=
t;
if
(px
==
i)
px
=pn;
}
if
(px
!=
i+1)
{
t
=
a[i+1];
a[i+1]
=
max;
a[px]
=
t;
}
}
}
main()
{
int
b[N]={9,1,4,2,3,6,5,8,7},i;
printf(“/nThe
original
data
:/n“);
for
(i=0;
i
/**********found**********/
___1___
fun(char
ch)
{
/**********found**********/
if
(ch>=
0
return
ch
;
}
main()
{
char
c1,c2;
printf(“/nThe
result
:/n“);
c1=
2
;
c2
=
fun(c1);
printf(“c1=%c
c2=%c/n“,c1,c2);
c1=
8
;
c2
=
fun(c1);
printf(“c1=%c
c2=%c/n“,c1,c2);
c1=
a
;
c2
=
fun(c1);
printf(“c1=%c
c2=%c/n“,c1,c2);
}
二、算法分析
本程序完成的功能是进行数字字符转换。
①对函数fun()的定义,函数名前是返回值的数据类型,第一个空白处应为:“_char_”。
②判断ch是否是数字字符,第二个空白处应为:“_ch
#include
#define
M
5
#define
N
20
int
fun(char
(*ss)[N],intn)
{
int
i,k=0,len=
N;
/**********found**********/
for(i=0;
i
void
fun(chars)
{
int
i,j=0,k=0;
char
t1[80],t2[80];
for(i=0;
s[i]!=
/0
;
i++)
if(s[i]>=
0
sl
=
strlen(s);
tl
=
strlen(t);
for
(i=0;
i=ul)
/************found************/
u[ul++]=___2___
;
}
}
/************found************/
___3___
=
/0
;
}
main()
{
char
s[100],t[100],u[100];
printf(“/nPlease
enter
string
s:“);
scanf(“%s“,s);
printf(“/nPlease
enter
string
t:“);
scanf(“%s“,t);
fun(s,t,u);
printf(“The
result
is:
%s/n“,u);
}
二、算法分析
程序的功能是将既在字符串s中出现、又在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,但去掉重复字符。
①重复字符时结束本次循环,去掉重复字符。第一个空白处应为:“_==_”。
②既在字符串s中出现、又在字符串t中出现的字符s[i]赋给u[ul++]第二个空白处应为:“_s[i]_”。
③为u[]添加字符串结束标志。第三个空白处应为:“_u[ul]_”。
第6题
一、题目要求
给定程序中,函数fun的功能是;统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结呆为;4。
#include
void
fun(chars,intt)
{
int
i,n;
n=0;
/**********found**********/
for(i=0;
___1___
!=NULL;
i++)
/**********found**********/
if(s[i]>=
0
j
=
0;
for
(i=0;
i
void
fun(int
a[],int
n)
{
int
i,t;
/**********found**********/
for
(i=0;
i
#include
int
fun(charsource,chartarget)
{
FILEfs,*ft;
char
ch;
/**********found**********/
if((fs=fopen(source,___1___))==NULL)
return
0;
if((ft=fopen(target,“w“))==NULL)
return
0;
printf(“/nThe
data
in
file
:/n“);
ch=fgetc(fs);
/**********found**********/
while(!feof(___2___))
{
putchar(
ch
);
/**********found**********/
fputc(ch,___3___);
ch=fgetc(fs);
}
fclose(fs);
fclose(ft);
printf(“/n/n“);
return
1;
}
main()
{
char
sfname[20]
=“myfile1“,tfname[20]=“myfile2“;
FILEmyf;
int
i;
char
c;
myf=fopen(sfname,“w“);
printf(“/nThe
original
data
:/n“);
for(i=1;
i
#include
#include
void
WriteText(FILE);
void
ReadText(FILE);
main()
{
FILEfp;
if((fp=fopen(“myfile4.txt“,“w“))==NULL)
{
printf(“open
fail!!/n“);
exit(0);
}
WriteText(fp);
fclose(fp);
if((fp=fopen(“myfile4.txt“,“r“))==NULL)
{
printf(“open
fail!!/n“);
exit(0);
}
ReadText(fp);
fclose(fp);
}
/**********found**********/
void
WriteText(FILE
___1___)
{
char
str[81];
printf(“/nEnter
string
with
-1
to
end
:/n“);
gets(str);
while(strcmp(str,“-1“)!=0)
{
/**********found**********/
fputs(___2___,fw);
fputs(“/n“,fw);
gets(str);
}
}
void
ReadText(FILEfr)
{
char
str[81];
printf(“/nRead
file
and
output
to
screen
:/n“);
fgets(str,81,fr);
while(
!feof(fr)
)
{
/**********found**********/
printf(“%s“,___3___);
fgets(str,81,fr);
}
}
二、算法分析
程序的功能是:从键盘输入若干行文件(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上
①
义一个文件指针fw第一个空白处应为:“_*fw_”。
②将str[81]字符串输入到fw所指文件中
第二个空白处应为:“_str_”。
③将字符串输出第三个空白处应为:“_str_”。
编程题
第1题
1、
题目要求
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。例如,若学生的成绩是85.5,76,69.5,85,9l,72,64.5,87.5,则他的平均分应当是78.875。
#include
#define
N
8
typedef
struct
{
char
num[10];
double
s[N];
double
ave;
}STREC;
void
fun()
{
}
main()
{STRECs={“GA005“,85.5,76,69.5,85,91,72,64.5,87.5;
int
i;
fun(
printf(“the
%s
s
student
data:/n“,s.num);
for(i=0;i
#include
void
fun
(inta,intn)
{
}
main()
{int
aa[1000],n,k;
clrscr();
fun(aa,for(k=0;k
#include
void
fun(chara)
{
}
main()
{
char
s[81];
printf(“enter
a
string:/n“);
gets(s);
fun(s);
printf(“the
string
after
deleted:/n“);
puts(s);
}
二、算法分析
1.
主要数据结构
char
s[81];用于盛放一个字符串
2.
算法描述
①遍历数组a[i]。
②将不是‘*’的字符放入新数组中,并在新数组结尾加上字符串结束标识′/0′。
三、实现代码
void
fun(
chara
)
{int
i,j=0;
for(i=0;a[i]!=
/0
;i++)
if(a[i]!=
)
a[j++]=a[i];
a[j]=
/0
;
}
四、程序测试
程序测试结果正确,需要注意的是要删除字符串中所有*号需要用循环语句遍历字符串,用判断语句判断字符是否为*号,由此可以决定该程序应使用循环判断结构。
第4题
一、题目要求
编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),
即把p2所指的字符串连接到pl所指的字符串后。例如,分别输入下面两个字符串:
FirstString—
SecondString
则程序输出:
FirstString--SecondString
#include
#include
void
fun(char
p1[],char
p2[])
{}
main()
{
char
s1[80],s2[40]
;
clrscr()
;
printf(“Enter
s1
and
s2:/n“)
;
scanf(“%s%s“,s1,s2)
;
printf(“s1=%s/n“,s1)
;
printf(“s2=%s/n“,s2)
;
printf(“Invoke
fun(s1,s2):/n“)
;
fun(s1,s2)
;
printf(“After
invoking:/n“)
;
printf(“%s/n“,s1)
;
}
二、算法分析
1.
主要数据结构
char
s1[80],s2[40]
;分别用来盛放两个字符串
2.
算法描述
①输入两个字符串数组。
②求出第1个字符串的长度,即将i指到第1个字符串的末尾。
③将第2个字符串的字符连到第1个字符串的末尾,并最后在第1个字符串的结尾加上字符串结束标识′/0′。
三、实现代码
void
fun(char
p1[],char
p2[])
{
int
i,j;
for(i=0;p1[i]!=
/0
;i++)
;
for(j=0;p2[j]!=
/0
;j++)
p1[i++]=p2[j];
p1[i]=
/0
;
}
四、程序测试
程序测试结果正确,需要注意的是不使用字符串函数实现字符串连接操作。通过for循环语句来完成,不要忘了最后需要加上字符串结束标识
/0
。
第5题
一、题目要求
编写函