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

admin2015-06-08  55

问题 请编一个函数fun(char*s),函数的功能是把S所指字符串中的内容逆置。
    例如:字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。
  注意:部分源程序存在文件PROGl.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++){
    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 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/VaJp777K
0

最新回复(0)