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