2013年计算机二级C语言上机题库四十_第3页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年5月22日
 编程题
  请编写函数FUN,该函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第M个字符,平移到字符串的最后,把第M+1到最后的字符移到字符串的前部。
  例如,字符串原有的内容为ABCDEFGHIJK,M的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  试题程序:
  #include<stdio.h>
  #include<string.h>
  #defineN80
  voidfun(char*w,intm)
  {
  }
  main() 
  {
  chara[N]="ABCDEFGHIJK";
  intm;
  FILE*out;
  printf("Theoriginalstring:\n");
  puts(a);
  printf("\n\nEnterm:");
  scanf("%d",&m);
  fun(a,m);
  printf("\nThestringaftermoving:\n");
  puts(a);
  printf("\n\n");
  out=fopen("out.dat","w");
  fun(a,strlen(a)-m);
  fun(a,3);
  fprintf(out,"%s",a);
  fclose(out);
  }
  答案是:
  voidfun(char*w,intm)
  {
  charb[N];
  intI,j=0;
  for(i=0;i<m;i++)
  {
  b[j]=w[i];
  j++;
  }
  for(i=0;i<strlen(w)-m;i++)
  w[i]=w[i+m];
  for(j=0;j<m;j++)
  {
  w[i]=b[j];
  i++;
  }
  w[i]=’\0’;
  }
首页 1 2 3 尾页

相关文章