ブルーブリッジカップC+--試験問題アルゴリズムは再帰逆置き文字配列を高める
983 ワード
ブルーブリッジカップ試験問題集試験問題総為替(C++)
問題の説明
再帰プログラムを完了し、文字配列を逆転します.実装プロセスの印刷
再帰論理は次のとおりです.
文字長が1に等しい場合は、直接返します.
そうでなければ、先頭と末尾の2文字を置き換え、文字配列の残りの部分を再帰的に逆置きします.
入力フォーマット
文字配列の長さとその配列
出力フォーマット
解を求める過程で、文字配列の変化状況を印刷します.
最後に1行空けて、プログラムの最後に反転した配列の各要素を印刷します.
サンプル入力
Sample 1 5 abcde
Sample 2 1 a
サンプル出力
Sample 1 ebcda edcba
edcba
Sample 2
a
リファレンスコード
問題の説明
再帰プログラムを完了し、文字配列を逆転します.実装プロセスの印刷
再帰論理は次のとおりです.
文字長が1に等しい場合は、直接返します.
そうでなければ、先頭と末尾の2文字を置き換え、文字配列の残りの部分を再帰的に逆置きします.
入力フォーマット
文字配列の長さとその配列
出力フォーマット
解を求める過程で、文字配列の変化状況を印刷します.
最後に1行空けて、プログラムの最後に反転した配列の各要素を印刷します.
サンプル入力
Sample 1 5 abcde
Sample 2 1 a
サンプル出力
Sample 1 ebcda edcba
edcba
Sample 2
a
リファレンスコード
#include
using namespace std;
int n;//
void exchange(char a[],int m)//
{
if(m>=n/2)
return ; //
//
char ch=a[m];
a[m]=a[n-m-1];
a[n-m-1]=ch;
//
for(int i=0; i>n;
char str[n];
for(int i=0; i>str[i];
exchange(str,0); //
// ,
cout<