学c语言做练习

/*
编写一个函数,其功能是使输入字符串反序。在一个使用循环语句为这个函数提供输入的完整
程序中进行测试。
*/

#include<stdio.h>
#include<string.h>

void fanxu(char *zf);  //反序函数
int main(void)
{
 char a[80];

 do
 {
  gets(a);
  fanxu(a);
  printf("是否继续(y/n):");
  gets(a);
 } while (*a != 'n');
 return 0;
}


/*  //方法一:
void fanxu(char *zf)
{
 char *pc;

 pc = zf;
 while (*++pc)
 {
  continue;
 }
 pc--;
 while (pc >= zf)
 {
  putchar(*pc);
  pc--;
 }
 putchar('\n');
}
*/


/*   //方法二:
void fanxu(char *zf)
{
 char *pc;
 pc = zf + strlen(zf);
 while (--pc >= zf)
 {
  putchar(*pc);
 }
}
*/


/*    //方法三:
void fanxu(char *zf)
{
 int i, n;
 char temp;

 for (n = 0; *(zf + n) != '\0'; n++)
  continue;
 n--;
 for (i = 0; i < n - i; i++)
 {
  temp = zf[i];
  zf[i] = zf[n - i];
  zf[n - i] = temp;
 }
 puts(zf);
}
*/


 //方法四:
void fanxu(char *zf)
{
 int i, n;
 char temp;

 n = strlen(zf)-1;
 for (i = 0; i < n-i; i++)
 {
  temp = zf[i];
  zf[i] = zf[n - i];
  zf[n - i] = temp;
 }
 puts(zf);
}

posted @ 2015-05-14 17:36  小树叶  阅读(259)  评论(0编辑  收藏  举报