导航
您当前的位置:首页 > 试卷大全 > 计算机类 > 计算机等级考试

2005年09月全国计算机等级考试三级网络技术机试真题及答案

类型:全真试卷  解析:有解析  年份:2010以前  ★收藏  ✚纠错

上机题

1、函数ReadDat()可以从文件IN.DAT中读取一篇英文文章并将其存入字符串数组xx中。请编制函数StrOL(),其功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,然后把已处理的字符串(不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat(),把结果xx输出到文件OUT.DAT中。

    例如,原文:

    You He Me

    I am a student.

    结果:

    Me He You

    student a am I

    原始数据文件的格式是:每行的宽度均小于80个字符,含标点符号和空格。

    注意:部分源程序给出如下。

    请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

    [试题源程序]

    #include<stdio.h>

     ……此处隐藏1800个字…… );  /*用Strcat函数将找到的单词连接到t的末尾*/

    }

    strcpy(xx[i],t);  /*while循环结束,整行的单词已经倒序排入临时数组t中。根据题目要求,此时应使用strcpy函数将t复制回数组XX的当前行*/

    t[0]=0;    /*临时存储数组要清空*/

    }

    }

[解析]

    本题主要考查的是字符串排序问题。首先用for循环遍历每一行,对于某一行xx[i]来说,设置一个变量j,使用while循环从最后一个字符开始遍历该行。在这个循环里,再次使用第二个while循环来判断是不是碰到了连续的非字母字符,碰到则把该位置置为0。继续往前扫描,若连续碰到字母字符则不作改动,直到碰到非字母字符,这样就找到了一个单词。将此单词存入临时数组t中。这样,扫描完一行就把所有单词倒序存入了数组t中。最后,把数组t中的内容复制到xx[i]中,将临时数组t清空即可。在对某行倒序扫描的过程中,要有以下判断:如果遇到连续的非字母字符在某行的最前面,则跳出对该行的扫描,直接把数组t中的内容复制回行xx[i]如果存入数组t的单词不是第一个单词,则要先在数组t中插入一个空格字符。

 

Tags:三级网络技术机试 石油党建“每日答题”2019年9月26日试题及答案 石油党建“每日答题”2019年9月27日试题及答案 石油党建“每日答题”2019年9月29
您可能感兴趣的试卷
相关试卷
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved