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

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年4月27日
  编程题
  编写函数fun,它的功能是:判断字符串是否为回文,若是,则函数返回1,主函数输出 YES,否则返回0,主函数中输出 NO。回文是指顺读和倒读都一样的字符串,
  例如,字符串LEVEL是回文,而字符串123312就不是回文。
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  试题程序:
  #include <stdio.h>
  #define N 80
  int fun(char *str)
  {
  }
  main() 
  {
  char s[N] ;
  FILE *out;
  char *test[] = {"1234321", "123421", "123321", "abcdCBA"};
  int i;
  printf("Enter a string: ") ;
  gets(s) ;
  printf("\n\n") ;
  puts(s) ;
  if(fun(s))
  printf(" YES\n") ;
  else
  printf(" NO\n") ;
  out=fopen("out.dat", "w");
  for (i = 0; i < 4; i++)
  if (fun(test[i]))
  fprintf(out, "YES\n");
  else
  fprintf(out, "NO\n");
  fclose(out);
  }
  答案是:
  int fun(char *str)
  {
  int i,n=0,fg=1;
  char *p=str;
  while(*p)
  {
  n++;
  p++;
  }
  for(i=0;i<n/2;i++)
  if(str[i]==str[n-1-i])
  else
  {
  fg=0;
  break;
  }
  return fg;
  }
首页 1 2 3 尾页

相关文章