1、计算机三级网络技术机试(上机操作)模拟试卷 5及答案与解析 一、程序设计题 1 补充程序:该程序要求实现的功能是;把 s字符串中的所有字符左移一个位置,串中的第一个字符移动到最后。请编写 chg(char*s)函数实现以上功能,最后调用函数 readWriteData()从 IN DAT文件中读取 50组数据,分别得出结果,并把结果输出到 OUT DAT文件中。 例如: s字符串中原有内容为: Mn 123xyZ,调用后结果为: n 123xyZM。 注意:部分源程序已经给出。 请勿改动主函数 main()和输出函数 readWriteData()的内容。 试题程序: #include #in
2、clude #define N 8l void readWriteData() void chg(char*s) main() char aENq printf(“Enter a string: ”); gets(a); printf(“The original string is: ”); puts(a); chg(a); printf(“The string after modified: ”); puts(a); readWriteData(); void readWriteData() int i; char aN; FILE*rf, *wf; rf=fopen(“IN DAT”, “
3、r”); wf=fopen(“OUT DAT”, “W”); for(i=0; i50; i+) fscanf(rf, “ s”, 8); chg(a); fprintf(wf, “ s n”, a); felose(rf); fclose(wf); 计算机三级网络技术机试(上机操作)模拟试卷 5答案与解析 一、程序设计题 1 【正确答案】 void chg(char*s) int i, str1; char ch; str1=strlen(s); eh=*s; for(i=0; istrl-1; i+) *(S+i)=*(S+i+1); *(s+strl-1)=ch; 【试题解析】 取 s所指的字符串的长度,将其首字母放入 ch中,循环遍历第 1至倒数第 2个字符。再将后一个字符赋给前一个字符。将保存的第一个字符存入最后一个位置即可。