正确答案: B
题目:最早研究计算机网络的目的是什么?()
解析:答案:B
举一反三的答案和解析:
●试题四
【答案】(1)(*a!=′\0′)&&(*b!=′\0′)(2)a++
(3)b++(4)*w==′\0′(5)*(++w)=t(6)a++
(7)*(++w)=′\0′(8)s[i]>s[j] (9)s[j]=t(10)strmerge(s1,s2,s3)
【解析】根据题意,对字符串的处理分为三步:第一步是从键盘上输入两个字符串;第二步是将两个字符串分别排序;第三步是将字符串合并;第四步是显示处理结果。
第一步和第四步容易实现,关键是第二步和第三步的处理,下面分别加以说明。
字符串排序是指将一个字符串中各个字符按照ASCⅡ码值的大小排序。例如,字符串"Beijing"由小到大的排序结果应该是:"Bejiign"。排序算法很多,第二个例子,我们就要介绍快速排序算法。在这里使用简单的冒泡排序算法:即将字符串中的每一个字符一个个进行比较,找出最小的字符,然后再在剩下的字符中找最小的字符。例如,字符"Beijing"的排序过程如下:
第一次将字符"Beijing"中的每一个字符:′B′、′e′、′i′、′j′、′i′、′n′、′g′进行比较,找到最小的字符′B′。
第二次在剩下的字符′e′、′i′、′j′、′i′、′n′、′g′中,找到最小的字符′e′。
……
第三次在剩下的字符′j′、′i′、′n′、′g′中,找到最小的字符′j′。
第三步是合并字符串,合并后的字符串仍然由小到大排序。由于待合并的两个字符串已经排好序。假定两个排好序的字符串分别为A和B,合并后的字符串为C,要使待合并后的字符串仍然由小到大排序,可采取下述步骤:
1.从前往后取A中的字符,并按从前往后的顺序与B中的字符比较,若A中的字符较小,则将该字符存入C,并移到A的下一个字符,继续与B中的字符比较。
2.若A中的字符较大,则将B中的字符存入C,并移到B的下一个字符,继续与A中的字符比较。
3.若A与B中的字符相等,则将A或B中的字符存入C,并将A和B均移到下一个字符。
4.若A或B字符串到达末尾,则将B或A的剩余部分加到字符串C中。
需要注意的是:A、B和C三个字符串均可以用字符数组来表示,C数组的长度不能小于A、B两数组的长度之和。另外,判别字符串是否结尾的方法是:从A或B中取出的字符是否为′\0′,所有字符串都是以′\0′结尾的。