国家三级(网络技术)机试模拟试卷202(题后含答案及解析)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家三级(网络技术)机试模拟试卷202(题后含答案及解析)
题型有:1. 程序设计题
程序设计题
1.补充程序;该程序要求实现的功能是;把S字符串中的所有字符左移一个位置,串中的第一个字符移动到最后。

请编写chg(char*s)函数实现以上功能,最后调用函数readWriteData( )从IN.DAT文件中读取50组数据,分别得出结果,并把结果输出到OUT.DAT文件中。

例如;s字符串中原有内容为;Mn.123xyZ,调用后结果为;n.1 23xyZM。

注意;部分源程序已经给出。

请勿改动主函数main( )和输出函数readWriteData( )的内容。

试题程序;#include<string.h>#include<stdio.h>#define N 81void readWriteData( )void chg(char*s){}main( ){ char a[N];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 a[N];FILE*rf,*wf;rf=fopen(“IN.DAT”,”r”);wf=fopen(“OUT.DAT”,”w”);for(i=0;i<50;i++) { fscanf(rf,”%S”,a);chg(a);fprintf(wf,”%s\n”,a);} fclose(rf);fclose(wf);}
正确答案:void chg(char*s) { int i,strl;char ch;strl=strlen(s);ch=*s;for(i=0;i<strl-1;i++) *(s+i)=*(s+i+1);*(s+str1-1)=ch;}
解析:取s所指的字符串的长度,将其首字母放入ch中,循环遍历第1至倒数第2个字符,再将后一个字符赋给前一个字符。

将保存的第一个字符存入最后一个位置即可。

相关文档
最新文档