- ベストアンサー
文字数の逆順
C++で入力文字の文字数を関数を使って逆順にするにはどのようなプログラムを作ればよいでしょうか。 入力文字がabcd 文字数4個 4321と出力したい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
他にもスタックでも可能です。 #include <stack> using namespace std; int main(int argc, char* argv[]) { char* p = "1234"; stack<char> s; //要素をキューに追加 for( int i=0;i<4;i++){ s.push(p[i]); } //キューから要素を出力する while( !s.empty() ){ cout << s.top(); //先頭の要素の取得。 s.pop(); //先頭の要素の破棄 } cout << endl; return 0; }
その他の回答 (2)
- Interest
- ベストアンサー率31% (207/659)
こんなんでいかがでしょうか。 int 文字列を逆順表示する (cost char *入力文字列へのポインタ) { if( NULL == 入力文字列) 処理できないのでエラーを返す; 文字列の長さ = strlen(入力文字列へのポインタ); 文字列の長さを表示する; for(i=文字列の長さ-1; i>=0; i--){ putchar(入力文字列へのポインタ + i); } 成功したので0でも返しておく。 } ちなみに、いまどきのオブジェクト指向なプログラミング言語だと、Stringクラスを使って 文字列.length で文字列の長さが取得できるようですね。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
int i; for ( i = 入力文字数; i >= 0; --i) { iを出力 }