2.字符串的反转,比如abcde,输出edcba
2013-09-28 16:10
405 查看
首尾元素相交换:
#include<stdio.h>
#include<string.h>
char *change(char *a)
{
if(*a != '\0')
{
char temp;
char *s1= a;
char *s2 = a + strlen(a) - 1;
while(s1 < s2)
{
temp = *s1;
*s1 = *s2;
*s2 = temp;
*s1++;
*s2--;
}
}
return a;
}
int main(void)
{
char a[] = "abcdef";
char *b;
b = change(a);
printf("%s/n",b);
return 0;
}
递归的做法:
#include<stdio.h>
void reverse(char *a)
{
if(*a == '\0')
return;
{
reverse(a + 1);
printf("%c",*a);
}
}
int main(void)
{
char a[] = "abdsdf";
reverse(a);
return 0;
}
#include<stdio.h>
#include<string.h>
char *change(char *a)
{
if(*a != '\0')
{
char temp;
char *s1= a;
char *s2 = a + strlen(a) - 1;
while(s1 < s2)
{
temp = *s1;
*s1 = *s2;
*s2 = temp;
*s1++;
*s2--;
}
}
return a;
}
int main(void)
{
char a[] = "abcdef";
char *b;
b = change(a);
printf("%s/n",b);
return 0;
}
递归的做法:
#include<stdio.h>
void reverse(char *a)
{
if(*a == '\0')
return;
{
reverse(a + 1);
printf("%c",*a);
}
}
int main(void)
{
char a[] = "abdsdf";
reverse(a);
return 0;
}
相关文章推荐
- 将字符串进行反转。比如:abcde --> edcba
- 字符串反转 abcde-edcba
- 将字符串中进行反转。abcde --> edcba
- 3.2 设计一个程序,要求用户输入 5 个字符,然后将这 5 个字符按相反的顺序显示出 来。例如,假设输入 abcde,则输出为 edcba
- Java 输出反转字符串
- Java 字符串反转输出
- 写一个函数,输出字符串中字符的所有排序。(比如:abc acb bac bca cab cba )
- 《程序员面试宝典》:输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序,即输出125,126,145,146
- java 字符串的反转输出
- 写一个方法,实现字符串的反转,如:输入abc,输出cba
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc
- 输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序
- java实现字符串的反转 (如:输入abcd 输出dcba)见例解
- 输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序(递归方法)
- 怎么实现字符串的反转,如:输入abc,输出cba
- 字符串反转(按单词正序输出),保留并打印所有空格。
- 将字符串反转输出
- 字符串打散,反转输出
- 输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序(递归方法)
- 输入两个字符串,比如abdbcc和abc,把abc在abdbcc中的连接次序输出