请编一个函数fun(char*s),函数的功能是把s所指字符串中的内容逆置。 例如:字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数m

admin2015-12-22  27

问题 请编一个函数fun(char*s),函数的功能是把s所指字符串中的内容逆置。
    例如:字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。
    注意:部分源程序存在文件PROG1.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include  
#include  
#define N 81
fun(char *s)
}
}
NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。  */
  int i;
  char a[N];
  FILE *rf,*wf;
  rf=fopen("in.dat","r");
  wf=fopen("out.dat","w");
  for(i=0;i<10;i++)  {
    fscarlf(rf,"%s",a);
    fun(a);
    fprintf(wf,"%s\n",a);
    }
    fclose(rf);
    fclose(wf);
  }
  main()
  {  char a[N];
  printf("Enter a string:");gets
  (a);
  printf ("The orig~nal string is:
");puts(a);
    fun(a);
    printf("\n");
    printf("The string after
modified:");
  puts(a);
  NONO();
  }

选项

答案char b[N]; int i=0, j; memset(b,0,N); for(j=strlen(s)-1;j>=0;j--)b[i++]= s[j]; strcpy(s, b);

解析 该程序功能是字符串中的内容逆置。把字符串中字符逆置,就是把字符串中的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,直到所有元素交换完成为止。
转载请注明原文地址:https://kaotiyun.com/show/vWDp777K
0

最新回复(0)