• 締切済み

文字を連結して配列に入れるプログラム

調べている時間がないので、初歩的な質問ですがよろしくお願いします。 文字、「い」、「ろ」、「は」を入力して、これを連結して出来る3文字の文字列の全ての組み合わせ「いろは」「ろはい」....を配列で返すプログラムをC言語で作成するとどうなるのでしょうか。 つまり、ひらがなの入力と文字列の結合と文字列を配列で返すにはどうすればよいかと言うことを教えて欲しいのです。

みんなの回答

  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.1

課題か宿題かな。 >ひらがなの入力と文字列の結合と文字列を配列で返す 入力は fgets などを使用する。 文字列連結は sprintf を使用する。 **str などの変数を宣言してそこに文字列を入れて return str で返す。 でいいかな。 以下は参考 #include <stdio.h> int main(int argc, char *argv[]) {   static char *str[] = {"い","ろ","は"};   int i,j,k;   char s[7];   for(i = 0; i < 3; i++){     for(j = 0; j < 3; j++){       for(k = 0; k < 3; k++){        if(i != j && i != k && j != k){          sprintf(s, "%s%s%s", str[i], str[j], str[k]);          printf("%s\n", s);        }       }     }   }   return 0; }

Brown2002
質問者

お礼

回答ありがとう。 参考にするね。 > 課題か宿題かな。 どっちもはずれだよ。 とある会社でプログラマーやってる知人に聞かれたんだけど、 僕もど忘れしてたんでね。 生憎参考書類は全部会社に置いてあって、直ぐに参照できなかったから ここでお世話になろうと思ったわけなんだよ。

関連するQ&A

  • ゼロを含む文字列の連結方法

    初歩的な質問かもしれませんが、お願いします。 ゼロが連続する文字列を連結させて、ひとつの文字列にしたいのですが、strcpyとstrcatの組み合わせでは、00があった時点でこの部分が抜けてしまいます。ゼロを含む完全な形で連結する方法をお願いします。 例: 文字列A:「0001」と文字列B:「0055」と文字列C:「00AA」を連結して、 文字列X:「0001005500AA」を作りたいのです。

  • perlの文字列組み合わせ

    perlでプログラムを作成中です。 作成したモノはうまく動かないので掲載できませんが、 どなたかお知恵を貸してください。  入力文字列に対して 1をA、2をB、3をC に置換するプログラムを作成中です。 ただし、全ての組み合わせを出力したいのです。 つまり、”213”と入力すると回答は、 B13 BA3 BAC 2A3 21C 2AC B1C と出力したいのです。  プログラムとしては、入力文字列を1つずつを配列に入れて、それぞれの変換 をかけ、1つずつ組み合わせて出力しているのですが、どうもうまくいきません。 手法は特に固執してませんので、どの様な形でも結構です。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 小文字は大文字に、大文字は小文字に変換して表示するプログラム

    C言語の問題で、ユーザが文字を入力し、CTRL+Zが押されるまで、半角英数字の入力を受け付ける。 受け付けた文字列(最大でも1000文字)を、小文字は大文字に、大文字は小文字に変換して表示するプログラムを作成する。数字に対しては何も変化させなくて良い。 けっこう考えたんですが全くわかりません。 どなたか知恵を貸してください。

  • C言語の連結について

    C言語で文字列を文字列の後ろに連結させるのはstrcat()関数で出来ますが,int型で宣言した変数はどのようにして連結させればよいでしょうか?? 1回文字列に変換してから連結させる方法しかないのでしょうか??

  • 文字列のプログラムについて

    キーボードから入力された1行の文字列を逆順(abc -> cba)にして、 更に大文字なら小文字にし、小文字なら大文字にして表示するプログラムを作る問題です。 とりあえず getcharを使い、キーボードから文字列を入力しその文字列を 配列変数に保存し、その配列変数について変換させるのだと思いますが、 どうしてもgetcharでキーボードからえた文字列を配列変数にいれる方法がわかりません。 教えてください。

  • Excel文字列の連結について教えてください(VBA)

    Excelの文字列の結合について教えてください。 色々調べたのですが、VBA自体がよくわからず困っています。 やりたい事は、(Excel表をご参考) 『セルA1とB1とA2の文字を固定で、セルA3以降の文字以降を  順次連結してcsvに書き出すVBAを作成したい。』 どうしても繰り返す連結マクロがわかりません。 ExcelVBAに詳しい方、教えてください。 よろしくお願いします。 結果例) 20080501A01 20080501A02 20080501B01 20080501C01   ・   ・(300件以上続きます) <Excel表>    A列  B列 1  2008  05 2  01    3  A01 4  A02 5  B01 6  C01 7  ・ 8  ・

  • エクセル 文字列連結演算子で文字列を結合

    文字列連結演算子の「&」 を使って文字列を結合し、その間に()を投入したいです。 A列   B列  C列        D列 高橋太郎 東京  文字連結演算子  高橋太郎(東京) C列 =A1&(B1) ではエラーがでます。正しい書式を教えてください。 A列    B列  C列   D列  E列        F列 高橋太郎 (    東京   )  文字連結演算子   高橋太郎(東京) E列 =A1&B1&C1&D1 ってのは分かるのですが、もっとスッキリするものはないでしょうか? 宜しくお願いします。

  • 配列の参照渡し

    以下のC言語のプログラムを教えてください。 お願いします。 (1)標準入力から文字列(2 文字以上)を入力し,文字数を計上すると共に,入力された文 字列の逆順に入れ替える処理を実現せよ.なお,以下の要件を満たしたプログラムを作 成すること. ・ 入力された文字列は,char 型の配列(要素数50)で受け取ること ・ 文字数を計上するcount 関数(引数:配列のアドレス,戻り値:文字数)を定義 し,main 関数より呼び出すこと ・ 文字列を逆順に入れ替えるreverse 関数(引数:配列のアドレス,戻り値:無し) を定義し,main 関数より呼び出すこと ・ 標準出力の処理は,main 関数で記述すること 【プロトタイプ宣言】 int count(char *str); void reverse(char *str); 【実行結果】 文字列を入力してください(2 文字以上) apple 文字数 = 5 入れ換え前 apple 入れ換え後 elppa $ ---------------------------------------------------------------------------- (2)char 型の配列(要素数50)を2 つ宣言し,標準入力から2 つの文字列を入力せよ. そして,格納した字列を入れ替える関数(swapstr 関数)を作成し,入れ替え前と入れ替 え後の配列内の値(文字列)を配列名とともに標準出力するプログラムを作成せよ. 【プロトタイプ宣言】 void swapstr(char *str1, char *str2); 【実行結果】 2 つの文字列を入力してください apple strawberry 入れ換え前 配列str1 = apple 配列str2 = strawberry 入れ換え後 配列str1 = strawberry 配列str2 = apple

  • 入力文字と配列がわからない><

    文字列と配列がよくわかりません・・・。 以下のプログラムで「おく」と入力すると ・ ィ と表示されます・・・。 何がおかしいのでしょうか; int main(){   char a[4];   scanf("%s", a);   printf("a[0] = %c \na[1] = %c \n", a[0], a[1]); }

  • 配列

    考えてみたのですが、分かりません。 教えてください。 ・10人の学生の成績を入力し、順位を求めるプログラムを作成せよ。 ・ホーナ法を用いて、多項式の計算をするプログラムを作成せよ。 *C言語でお願いします。for,if,配列程度しか習ってないので、そこら辺の知識でお願いします。

専門家に質問してみよう