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

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年6月3日
 编程题
  编写一个函数,从传入的num个字符串中找出最长的一个字符串,传回该串地址(用****作为结束输入的标志)。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中秘编写的若干语句。
  #include <stdio.h>
  #include <string.h>
  #include <conio.h>
  char *fun(char (*a)[81],int num)
  {int i;
  char *max;
  max=a[0]; 
  for(i=0;i<=num;i++)
  if(strlen(max)<strlen(a[i]))
  max=a[i];
  return max;
  }
  main()
  {
  char ss[10][81],*max;
  int n,i=0;
  FILE *out;
  printf("输入若干个字符串:");
  gets(ss[i]);考试站网校
  puts(ss[i]);
  while(!strcmp(ss[i],"****")==0)
  {
  i++;
  gets(ss[i]);
  puts(ss[i]);
  }
  n=i;
  max=fun(ss,n);
  printf("\nmax=%s\n",max);
  out=fopen ("out.dat", "w");
  strcpy(ss[0], "Oh,");
  strcpy(ss[1], "you");
  strcpy(ss[2], "want");
  strcpy(ss[3], "some");
  strcpy(ss[4], "too?!?");
  fprintf(out, "%s", fun(ss, 5));
  fclose (out );
  }
  参考答案:
  char *fun(char (*a)[81],int num)
  {int i;
  char *max;
  max=a[0];
  for(i=0;i<=num;i++)
  if(strlen(max)<strlen(a[i]))
  max=a[i];
  return max;
  }
首页 1 2 3 尾页

相关文章