2、已知一个由英语单词组成的字符串已按字典序排好,每个单词以空格符为结束,该串的首二字节为16位无符号二进制数,用以说明串的长度。试编程能从键盘上输入单词(以空格字符为结束),若字符串中没有该单词,则将该单词插入该串适当的位置,使其仍保持字典序,并修改串长度,显示单词在串中位置及串长度;若字符串中有该单词,则显示字符串中所有包含该单词的单词,及其在字符串中的位置。

3、编写程序,程序运行时使PC机成为一架可弹奏的“钢琴”。当按下数字键0~9时,发出6,7,1,2,3,4,5,6,7,i,十个音调,按‘.’则退出“钢琴”状态。

设计提示:
1)PC机扬声器电路图如下:
61H端口第1位
61H端口第0位          8253        与门        放大器        扬声器
                      定时器2
计数值(地址42H)            控制字
(先送低位,再送高位)      (地址43H)
通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形,当与门打开后,经过放大器放大的作用,便可驱动扬声器发出不同频率的音调。要使该音调的声音持续一段时间,只要插入一段延时程序,之后再将扬声器切断(关闭与门)。
另外,要使计算机成为可弹奏的钢琴,需要使用系统调用的01H功能以接收键入字符,并且要建立一张表,使键入字符与频率值构成一个对应关系。
键入字符    9    0    1    2    3    4    5    6    7    8
音  符    6    7    1    2    3    4    5    6    7    i
频率值    440    494    524    588    660    698    784    880    988    1048

谁做好的话,可以发到我的邮箱:jiangjian11101@163.com