问题 问答题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数un(char*str1,char*str2),此函数的功能是计算str1中出现str2的个数,当不出现时,则返回0。

str1为“asdfsfdfg”
str2为“sf”则返回1
str2为“df”则返回3
注意:不能修改函数的其他部分。
试题程序:
#include<iostream.h>
//注意只能使用int类型,不能类型转换
int fun(char*str1,char*str2)


void main()

char str1[l024];
char str21256];
cout<<"please input a string:"<<end1;
cin.getline(str1,1024);
cout<<"please input other string:"<<end1;
cin.getline(str2,256);
cout<<fun(str1,str2);
cout<<end1;
return;

答案

参考答案:int fun(char*str1,char*str2)
{
int size=0;
int strllen;
int str2len;
for(strlfen=0;str1[strllen]!=0;str1len++);
for(str2len=0;str2[str2len]!=0;str2len++);
for(int i=0;i<strllen;i++)
{
int j=0;
for(;j<str2len;j++)
if(str1[i+j]!=str2[j])
break;
if(j==str2len)
{
++size;
i+=j;
}
}
return size;
}

解析: 本题考查的是字符串查找算法。首先求出两个字符串的长度,然后循环遍历第1个字符串,再使用一个内循环遍历第2个字符串,判断两个字符串相应位置是否一致。如果遍历完第2个字符串,所有位置都一致,则记数值size增1,即找到一个子串。

实验题

过氧化钠(Na2O2)是一种黄色固体。某次科技活动中,某化学兴趣小组的同学将包有Na2O2固体的棉花放入右图烧杯中,缓慢倒人CO2后发现处于下位的蜡烛先熄灭,上位的后熄灭,同时又惊奇的发现棉花燃烧起来。

I.实验过程中“下位的蜡烛先熄灭,上位的后熄灭”的现象

说明二氧化碳具有的性质是______________________。

Ⅱ.棉花为什么会燃烧呢?小组同学联想起物质燃烧的相关知识,推理出棉花要燃烧,除了我们已知“棉花是可燃物”之外,还需满足的条件为_________________________________。

【提出问题】在实验中是如何给棉花燃烧提供上述条件的呢?

【查阅资料】2Na2O2+2CO2=Na2CO3+O2↑;  2Na2O2+2H2O=4NaOH+O2↑;

白色的无水硫酸铜遇水会变呈蓝色。

【设计实验】经过讨论后,小组同学设计了如下图的实验进行探究。

【实验步骤】 (1)按上图装配好装置,并检查其气密性;

(2)将相关的试剂放入对应的仪器中;

(3)推动注射器的活塞,把稀盐酸注入锥形瓶内,并固定活塞位置;

A中发生的反应方程式为________________________;

(4)一段时间后,在a处放置一根带火星的小木条,观察现象。

【实验现象】 (1)C中干燥管中没有出现蓝色

(2)a处带火星的小木条复燃;

(3)D处烧杯中水的温度升高。

【实验分析】 (1)B装置的作用是____________;为什么要有此装置__________________;

(2)C装置的作用是_________________;

(3)D装置的烧杯内水温升高的原因是_____________________________。

【实验结论】 “小木条复燃”说明了Na2O2和CO2反应产生了氧气并放出热量;满足了棉花燃烧的条件,棉花的主要成分为纤维素,可用(C6Hl0O5)n来表示,试写出纤维素完全燃烧的方程式___________________________________________________。

单项选择题 共用题干题