将参数字符串中的字符反向排列

//编写一个函数reverse_string(char * string)(递归实现)
//实现:将参数字符串中的字符反向排列。
//要求:不能使用C函数库中的字符串操作函数。

//第一种方法:递归法
#include <stdio.h>
int reverse_string(char * string)
{
 if (*string != ‘\0‘)
 {
  string++;
  reverse_string(string);
  printf("%c", *(string-1));
 }
}
int main()
{
 char *string = "abcde";
 printf("源字符串为:%s\n", string);
 printf("反向排列后为:");
 reverse_string(string);
 printf("\n");
 return 0;
}

//第二种方法:
#include <stdio.h>
#include <assert.h>
#include<string.h>
char *reverse(char *str,int len)
{
 int i = 0;
 char *start = str;
 char *end = str + len - 1;
 char tmp ;
 assert(str);
 while (start < end)
 {
  tmp = *start;
  *start = *end;
  *end = tmp;
  start++;
  end--;
 }
 
 return str;
}
int main()
{
 char p[] = "abcdef";
 int len = strlen(p);
    printf("%s\n", reverse(p,len));
 return 0;
}
时间: 2024-08-01 17:57:24

将参数字符串中的字符反向排列的相关文章

【c语言】编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。

/*编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列. 要求:不能使用C函数库中的字符串操作函数.*/ #include <stdio.h> #include <assert.h> void reverse_string(char const * string) { assert( string != NULL ); if( *string != '\0' ) { string++; reverse_string

编写一个函数将参数字符串中的字符反向排列

编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列. 要求:不能使用C函数库中的字符串操作函数. 注意:将参数字符串中的字符反向排列,不是反向输出. 代码如下: #include<stdio.h> #include<stdlib.h> #include<assert.h> int my_strlen(char *str)//求字符串长度 { int count=0; while(*str++) { co

【C语言】编写一个函数reverse_string(char * string)(递归实现),将参数字符串中的字符反向排列,不能使用C函数库中的字符串操作函数。

//编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列. //要求:不能使用C函数库中的字符串操作函数. #include <stdio.h> #include <assert.h> void reverse_string(char const * string) { assert( string != NULL ); if( *string != '\0' ) { string++; reverse_stri

C语言 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列

编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列. #include <stdio.h> #include <string.h> #include <assert.h> int reverse_string(char * str) { assert(str); int len=strlen(str); char *ch=str+len-1; while(len>1) { char tmp=*st

C语言编程 递归方法与非递归方法 实现将参数字符串中的字符反向排列

//题目要求要求:不能使用C函数库中的字符串操作函数(否则本题也没什么意义了啊) <1>非递归方法此方法基本思想是设立两个指针,分别指向字符串的头尾并且依次交换所指向的数据,代码中为left和right源代码: #include<stdio.h> #include<stdlib.h> #include<string.h>//因为要使用strlen()语句 void reverse_string(char str[]) { int temp; char *le

将参数字符串中的字符反向排列,递归实现

这是面试中出现频率较高的问题,可以使用循环实现逆置也可以用递归的实现,首先为大家展示循环的方法,这是比较简单也更容易理解的,下面看代码 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>Reverse(char arr[],int left,int right){char tmp;while (left < right) //当数组左下标小于右下标是进行循环逆置数组{tmp = arr[le

C#删除字符串中重复字符的方法

本文实例讲述了C#删除字符串中重复字符的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: #region 删除重复字符 string s = "sdfffffsrlkjesgljfdg03940864e5=_0R9DTGR98YUI\\|||'\\???fdf///"; Response.Write("<br/>String:" + s + "<br/>Result:"); IEnumerable<char

要求将字符串中的字符按字符出现的次数从小到大进行排序

package com.xiawei.sort; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry; public class TestString {//要求将字符串中的字符按字符出现的次数

1.判断字符串中的字符是否唯一

如果我们假设字符集是ASCII字符,那么我们可以开一个大小为256的bool数组来表征每个字符的出现.数组初始化为false,遍历一遍字符串中的字符,当bool数组对应位置的值为真, 表明该字符在之前已经出现过,即可得出该字符串中有重复字符.否则将该位置的bool数组 值置为true. 核心代码: 1 bool isCharUnique(string s) 2 { 3 bool a[256]; 4 int i =0; 5 memset(a,0,sizeof(a)); 6 int len = s.