69,369
社区成员
发帖
与我相关
我的任务
分享
/***********************************************************************
Copyright (c) 2009,liushac
All rights no reserved.
Name: <<C程序设计语言>>练习4-13
ID: hello.c
功能: 编写一个递归版本的reverse(s)函数,把字符串s颠倒过来。
Date: Aug 28, 2009
***********************************************************************/
#include <stdio.h>
void reverse(char s[],int longest);
int main()
{
char s1[]="hello";
char s2[]={'w','o','r','l','d','\0'};
int longest=0;
longest=strlen(s1);
reverse (s1,longest);
printf ("%s\n",s1);
longest=strlen(s2);
reverse (s2,longest);
printf ("%s\n",s2);
return 0;
}
/* reverse函数: 把字符串s颠倒过来(递归版本),longest为字符串长度 */
void reverse(char s[],int longest)
{
char c;
int i=0;
if (longest>1)
{
/* 依次交换数组中相邻的数组元素 */
for (i=0;i<longest-1;i++)
{
c=s[i];
s[i]=s[i+1];
s[i+1]=c;
}
longest--;
reverse (s,longest);
}
}
#include"stdio.h"
void daozhi(char *pstr);
void main()
{
char str[10];
gets(str);
daozhi(str);
}
void daozhi(char *pstr)
{
if(*pstr++ != '\0')
{
daozhi(pstr);
}
printf("%c" , *(pstr-1));
}
#include <stdio.h>
void fun( char *p )
{
if(*p == NULL )
return;
else
{
fun(p+1);
printf("%c",*p);//参数一样
}
}
void main()
{
char p[10]="this is a";
fun(p);
}
/***********************************************************************
Copyright (c) 2009,liushac
All rights no reserved.
Name: <<C程序设计语言>>练习4-13
ID: hello.c
功能: 编写一个递归版本的reverse(s)函数,把字符串s颠倒过来。
Date: Aug 28, 2009
***********************************************************************/
#include <stdio.h>
#include <string.h>
void reverse(char s[]);
int main()
{
char s1[]="hello";
char s2[]={'w','o','r','l','d','\0'};
int longest=0;
longest=strlen(s1);
reverse (s1);
printf ("%s\n",s1);
longest=strlen(s2);
reverse (s2);
printf ("%s\n",s2);
return 0;
};
/* reverse函数: 把字符串s颠倒过来(递归版本),longest为字符串长度 */
void reverse(char s[])
{
char c;
int i=0;
int longest=strlen(s);
if (longest>1)
{
/* 依次交换数组中相邻的数组元素 */
for (i=longest-1;i>0;i--)
{
c=s[i];
s[i]=s[i-1];
s[i-1]=c;
}
reverse (s+1);
}
}
/***********************************************************************
Copyright (c) 2009,liushac
All rights no reserved.
Name: <<C程序设计语言>>练习4-13
ID: hello.c
功能: 编写一个递归版本的reverse(s)函数,把字符串s颠倒过来。
Date: Aug 28, 2009
***********************************************************************/
#include <stdio.h>
#include <string.h>
void reverse(char *s);
int main()
{
char s1[]="hello";
char s2[]={'w','o','r','l','d','\0'};
int longest=0;
longest=strlen(s1);
reverse (s1);
printf ("%s\n",s1);
longest=strlen(s2);
reverse (s2);
printf ("%s\n",s2);
return 0;
};
/* reverse函数: 把字符串s颠倒过来(递归版本),longest为字符串长度 */
void reverse(char *s)
{
char c;
int i=0;
int longest=strlen(s);
if (longest>1)
{
/* 依次交换数组中相邻的数组元素 */
for (i=longest-1;i>0;i--)
{
c=s[i];
s[i]=s[i-1];
s[i-1]=c;
}
reverse (s+1);
}
}
/***********************************************************************
Copyright (c) 2009,liushac
All rights no reserved.
Name: <<C程序设计语言>>练习4-13
ID: hello.c
功能: 编写一个递归版本的reverse(s)函数,把字符串s颠倒过来。
Date: Aug 28, 2009
***********************************************************************/
#include <stdio.h>
#include <string.h>
void reverse(char s[],int longest);
void reverse(char s[]);
int main()
{
char s1[]="hello";
char s2[]={'w','o','r','l','d','\0'};
reverse(s1);
printf("%s\n",s1);
reverse(s2);
printf("%s\n",s2);
return 0;
}
/* reverse函数: 把字符串s颠倒过来(递归版本),longest为字符串长度 */
void reverse(char s[])
{
int longest = strlen(s);
reverse(s, longest);
}
void reverse(char s[],int longest)
{
char c;
int i=0;
if (longest>1)
{
/* 依次交换数组中相邻的数组元素 */
for (i=0;i<longest-1;i++)
{
c=s[i];
s[i]=s[i+1];
s[i+1]=c;
}
longest--;
reverse (s,longest);
}
}