1、计算机三级网络技术机试(上机操作)模拟试卷 27及答案与解析 一、程序设计题 1 请编制函数 moveChar(char*s)。其功能是:把 s字符串中偶数位的字符左移到其相邻的偶数位上,偶数位的第一个字符移到最后一个偶数位上。奇数位的字符右移到与其相邻的奇数位上,奇数位的最后一个字符移到第一个奇数位上。函数readWriteData()负责读人文件 IN nAT中的数据,并把结果输出到 OUT DAT文件中。 例如: S字符串中原有内容为 abcdefg。则调用该函数后,结果为 gdafcbe。 注 意:部分源程序已给出。 请勿改动主函数 main()和输出函数 readWriteData(
2、)的内容。 试题程序: #include #include #include #define N 81 void readWriteData(); void moveChar(char*s) void main() char inputN; int i; for(i=0; i1; i-=2) *(s+i-1)=*(s+i-1-2);奇数位右移 *s=temp1; 将奇数位的最后一位放到奇数队列的首位 for(i=2; i1; i-=2) *(x+i-1)=*(s+i-1-2);奇数位右移 *s=templ; 将奇数位的最后一位放到奇数队列的首位 for(i=2; ilen-l; i+=2) *(s+i-1)=*(s+i-1+2); 将偶数位左移 *(s+len-2)=temo0; 将偶数位的首位放到偶数队列的末位 【试题解析】 本题主要考查利用指针时字符串中字符进行移动。 基本步骤是; 分别将偶数位的头一位和奇数位的最后一位保存; 利用指针,分别对数组中的奇数位和偶数位进行赋值移动; 将保存起来的值放到移动后的留下的位置处。