| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3838 人关注过本帖
标题:怎样用递归法使字符串倒序
只看楼主 加入收藏
柳丝飘絮
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-4-7
收藏
 问题点数:0 回复次数:13 
怎样用递归法使字符串倒序
各位高手:怎样用递归法使字符串倒序?
搜索更多相关主题的帖子: 递归 倒序 字符 
2008-04-08 22:45
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
字符串倒序干吗要用递归呢?
今晚没时间讨论了,学校要关灯了,明天再来看,呵呵。。

i like linux...
2008-04-08 22:56
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
#include<iostream.h>
#include<stdio.h>
void reverse(char *a,int i,int n)
{
  if(i==n)
      cout<<a[i]<<"\t";
  else
      reverse( a, i+1, n);
      cout<<a[i-1]<<"\t";
}
int main()
{   int n;
    cout<<"请输入字符数组长度!"<<endl;
    cin>>n;
    char *p=new char[n];
    gets(p);
    reverse(p,1,n-1);
    cout<<endl;
    
}

学习需要安静。。海盗要重新来过。。
2008-04-08 23:21
wxwy3glp
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-15
收藏
得分:0 
#include <stdio.h>
#include <string.h>
void reverse(char *s, int i, int n)
{
    if(i == n)printf("%c", s[i]);
    else
    {
        reverse(s, i+1, n);
        printf("%c", s[i]);
    }
}
int main()
{
    char s[100];
    scanf("%s", s);
    reverse(s, 0, strlen(s)-1);
    return 0;    
}
2008-04-15 11:10
wxwy3glp
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-15
收藏
得分:0 
e
3楼的有点问题
2008-04-15 11:10
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
我的有什么问题?说来听听..

学习需要安静。。海盗要重新来过。。
2008-04-15 12:09
tymstill
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-1-28
收藏
得分:0 
是有问题啊,运行一下看看
2008-04-15 15:02
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
我用动态数组节约空间,所以必须输入字符长度。这不是什么问题。。。

学习需要安静。。海盗要重新来过。。
2008-04-15 15:38
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 
可以for一下取个长度嘛   不然就是“有问题”了

女侠,约吗?
2008-04-17 19:17
flylee
Rank: 5Rank: 5
等 级:职业侠客
帖 子:309
专家分:374
注 册:2004-8-10
收藏
得分:0 
程序代码:
#include <iostream>
using namespace std;

void reverse(string &s, int a, int b)
{
    if(a<b)
    {
        swap(s[a],s[b]);
        reverse(s,a+1,b-1);
    }
}

int main()
{
    string s;
    cin>>s;
    cout<<"Before reverse:\n"<<s<<endl;
    reverse(s, 0, s.length()-1);
    cout<<"After reverse:\n"<<s<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

用GCC调过,VC没试过,可能会有问题
2008-04-18 00:12
快速回复:怎样用递归法使字符串倒序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053398 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved