注册 登录
编程论坛 C++教室

题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

徐宗保 发布于 2013-10-05 22:10, 1188 次点击
用c++怎么写,麻烦简单点,不要用栈
11 回复
#2
yuccn2013-10-06 13:14
  递归不爽

void func(char *ptr)
{
    int len = strlen(ptr);
    int i = 0;
    while (i < len) {
        char ch = ptr[i];
        ptr[i] = ptr[len - 1];
        ptr[len -1] = ch;
        len--;
        i++;
    }  
}

#3
blueskiner2013-10-06 13:30
#include <iostream>

static void func(const char* ptr);

int main(int argc, char** argv)
{
    char a[5] = {'a', 'b', 'c', 'd', 'e'};
    const char* p = &a[4];
    func(p);

    return 0;
}

void func( const char* ptr )
{
    char c = *ptr;
    std::cout << c;
    if (c == 'a') {
        std::cout << std::endl;
        return;
    } else {
        std::cout << '\t';
    }
    ptr--;
    func(ptr);
}
#4
heimeng1052013-10-07 14:56
#include
#include

using namespace std;
void funs(char szAry[])
{
  unsigned j = 0;
  for (unsigned i = strlen(szAry)-1;(i >= 0) && (j < strlen(szAry)/2);i--)
  {
    char ch;
    ch = szAry[i];
    szAry[i] = szAry[j];
    szAry[j] = ch;
    j++;
  }

}

int main()
{
  char szAry[32];
  cin.getline(szAry,31,'n');
  cout << szAry << endl;
  funs(szAry);
  cout << szAry << endl;
  return 0;
}
#5
徐宗保2013-10-07 18:48
回复 2楼 yuccn
不是爽不爽,题目要求
#6
徐宗保2013-10-07 18:50
回复 4楼 heimeng105
这是递归?
#7
徐宗保2013-10-07 18:50
回复 3楼 blueskiner
如果字符要手动输入呢?你这样做我也会
#8
heimeng1052013-10-07 20:06
#include <iostream>
using namespace std;
static int i = 4;
void funs(char str[])
{
  static int  j = 0 ;
  if ( j > 2 )
  {
    return ;
  }
  char ch;
  ch = str[j];
  str[j] = str[i];
  str[i] = ch;
  i--;
  j++;
  return funs(str);
}
int main()
{
  char str[5] = {'a','b','c','d','e'};
  funs(str);
    cout << str << endl;
    return 0;
}
#9
heimeng1052013-10-07 20:07
你看答案对不对  ,我秋秋号码是892679419  有问题的话通知我一声
#10
lintaoyn2013-10-07 20:28
程序代码:
#include<iostream>
using namespace std;

void printc(int i){
    char c = cin.get();
    if(++i < 5){
        printc(i);
    }
    cout << c << endl;
}
int main(int argc, char *argv[]){
    printc(0);
}
#11
blueskiner2013-10-08 07:01
回复 7楼 徐宗保
都会递归了,还问啥?根据题目自己想去。
#12
蛤蟆0012016-09-05 00:49
回复 8楼 heimeng105
大神,您好!您写的这个帖子我用c++调试了一下,有个小小的错误。 error C2562: 'funs' : 'void' function returning a value但我不知哪里错了,还请您指点一下
1