1、计算机三级网络技术机试(上机操作)模拟试卷 96及答案与解析 一、程序设计题 1 函数 readData()的功能是实现从文件 IN DAT中读取一篇英文文章存入到字符串数组 inBuf中。请编制函数 arrangeChar(),该函数的功能是:以行为单位把字符串中所有的非字母字符用空格替换。最后把已处理的字符串仍按行重新存入字符串数组 inBuf中。函数 writeData()负责把结果输出到文件 OUT DAT中。 例如,原文: my name is Lln T2o Nice to meet you 结果: my name is L n T o Nice to meet you 原始数据文
2、件存放的格式是;每行的宽度均小于 80个字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数 main()、读函数 readData()和写函数 writeData()的内容。 试题程序: #include #include #include #include #define LINE 50 #define COL 80 char inBufLINECOL+1; int totleLine=0;文章的总行数 int readData(void); void writeData(void); void arrangeChar() void main() system(“CLS”);
3、 if(readData() printf(“IN DAT callt be open! n 007”); return; arrangeChar(); writeData(); int readData(void) FILE*fp; int i=0; char*P; if(fp=fopen(“IN DAT”, “r”)=NULL)re turn 1; while(fgets(inBufi, COL+1, fp)!=NULL) P=strehr(inBufi, n); if(p)*P= 0; i+; totleLine=i; fclose(fp); return 0; void writeData(void) FILE*fp; int i; fp=fopen(“OUT DAT”, “W”); for(i=0; iz (inBufijz inBufija) inBufijA) *如果遇到某一个非字母符号 * flag-=1; 将标志置 1,表明此次处理中遇到了非 字母符号 inBufij=; 【试题解析】 本题主要考查字符串中字符的替代问题。这类题目比较简单只要找到字符串中非字母字符就可以了。确定非字母字符的方法是,在 ASCII码表中,其 ASCII码值比 “z”大、比 “A”小和在 “z”与 “a”之间的那些宇符都是非字母字符 ,然后再用空格替代这些非字母字符即可。