全国计算机等级三级网络技术上机练习习题(67)
来源:优易学  2010-1-15 9:55:25   【优易学:中国教育考试门户网】   资料下载   IT书店

  第67套上机考试试题
  函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA()其功能是:以行为单位对字符按从d,N人的顺序进行排序,排序后的结果仍按行重新存入字符串数组string中。最后调用函数Wdata(),把结果string输出到OUT.dat文件中。
  例如,原文:dAe,BfC.
  CcbbAA
  结果:..ABCdef
  AACbbc
  原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
  注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata0和输出数据函数Wdata()的内容。
  
  

  第67套试题答案及详解
  【审题分析】分析题目可知,本题只要实现sortcharA()函数的功能即可。SortCharA()函数要实现的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组string中。因此解答本题的关键在于如何读取字符串的长度,然后比较字符串中每个字符的大小。
  【解题思路】这里采用strlen字符函数获取字符串的长度;如何对文章中的每一行的字符利用双重循环进行两两比较,较小的字符往行前放,较大的字符往行后放,这样就实现了以行为单位对字符从小到大的排序。在程序中的语句是if(string[i][j]>string[i][k])成立,string[i][j]和string[i][k]就交换数据。
  【参考答案】
  
  【易错分析】变量j的取值范围是0到str1-1。1,而变量k的取值范围是j+1到str1。
  【考点链接】C语言的for循环语句的用法、两个字符的交换。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训