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

admin2015-08-23  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<1 0 ; i++)  {
    fscanf(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 original string is:
");puts(a);
  fun(a);
  printf("\n");
  printf  ("The  stririg 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/LTDp777K
0

最新回复(0)