问题 问答题

请编写一个函数int pattern_index(char substr[],char str[]),该函数执行含通配符“”的字符串的查找时,该通配符可以与任一个字符匹配成功。当子串substr在str中匹配查找成功时,返回子串substr在str中的位置,否则返回值为0。要求使用 for循环实现。输出结果如下: 子串起始位置:5 注意:部分源程序已存在文件test20_2.cpp中。 请勿修改主函数main和其他函数中的任何内容,仅在函数pattern_index的花括号中填写若干语句。 文件test20_2.cpp的内容如下: #include<iostream.h> int pattern_index(char substr[],char str[]) { } void main ( ) { char *substring,*string; int same; substring="gram"; string="this program return index of substring"; same=pattern_index(substring, string); if(same) cout<<"子串起始位置: "<<same<<end1; else cout<<"匹配不成功" <<end1; }

答案

参考答案:

解析:int pattern_index(char substr[],char str[]) { int i,j,k; for(i=0;str[i];i++) for(j=i,k=0;(str[j]==substr[k])||(substr[k]==’’);j++,k++) if(!substr[k+1]) return(i); return(0); }本题主要考查的是考生使用for循环和一维数组的综合能力。对于复杂查找,往往使用for的多重循环,注意里层for循环用来查找字符串的使用

问答题

某火力发电厂有6台额定压力13.72 MPa、额定蒸发量670 t/h的电站锅炉。为保证锅炉启动和稳定燃烧,建有2个500 m3的轻柴油储罐。为发电机冷却,建有制氢站。制氢站装有1套制氢设备和4个氢罐,氢罐的工作压力3.2 MPa、体积13.9 m3。在距制氢系统外部边界550 m处有一个汽油储罐区,有两个200 m3卧式汽油储罐,储罐的设计充装系数为0.85,两个汽油储罐在同一围堰内。
锅炉燃用煤粉由磨煤机加工后,经输粉管道直接进入炉膛。因生产需要,该厂决定对磨煤输粉系统进行改造。改造工程包括:拆除部分距离地面6 m高的破损输粉管道,更换新管道。在施工中,部分拆除和安装工作在脚手架上进行,使用额定起重量为5 t的电动葫芦。拆除旧管道时,使用乙炔进行气割。新管道焊接前,使用角磨机进行抛光。拆除的旧管道和其他旧设备使用叉车运走。施工现场周围有正在使用的动力电缆和高温管道,还有部分未清除的煤粉。
在企业年初会议上,总经理指出:安全检查是安全管理的重要内容,必须认真作好各项安全检查工作,最近企业组织了两次安全检查,在检查结束不久,该企业工作人员因设备维修结束后,不慎从6米处坠落。安监部门在认真查找各个环节时发现大部分车间没有按照要求制定安全检查表,没有落实检查责任,上报问题基本都是设备缺陷,安全检查工作事实上已经流于形式。面对这样的结果,该企业安监部门负责人陷入深思。
相关资料:所用汽油的密度为750 kg/m3,标准《重大危险源辨识》(GB 18218)中给出:汽油临界量为200吨。
根据以上场景,回答下列问题

请结合本题写出安全检查类型、过程,并编写完整的安全检查方案(或编写检查表)。

单项选择题