1. 程式人生 > >寫一個遞迴演算法來實現字串逆序儲存,要求不另設串儲存空間。

寫一個遞迴演算法來實現字串逆序儲存,要求不另設串儲存空間。

遞迴演算法中需要使用一個靜態變數儲存陣列下標

#include <iostream>
using namespace std;

void invert(char A[])
{
    char ch;
    static int i=0;//利用靜態變數儲存陣列下標
    cin>>ch;
    if(ch!='#')
    {
        invert(A);
        A[i++]=ch;//先存的放到後邊
    }
    A[i]='\0';
}

int main()
{
    char A[100];
    cout<<"請輸入一個字串(以’#‘為結束標誌,不包括‘#’)"<<endl;
    invert(A);
    cout<<"逆置後為:"<<A;//char型陣列可以利用陣列名直接輸出,int型則會輸出其首地址
    return 0;
}