• ベストアンサー

文字列の出力

C言語を使用しています。C初心者で分からないことがたくさんあって困っています。 文字列で"AAAABBBBCCCCDDDD"というのを出力する時に AAAA BBBB CCCC DDDDのようにスペースで区切って出力するにはどのようにしたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

以下の例は、変数:mojiに"AAAABBBBCCCCDDDD"がセットされているとき、4文字単位で出力する例です。 ------------------------------------------- #include<stdio.h> #include<stdlib.h> #include<string.h> int main( void ) { int i = 0; char moji[128]; char *p = moji; strcpy(moji,"AAAABBBBCCCCDDDD"); for (;*p != '\0';p++){ i++; printf("%c",*p); if ((i%4)==0){ printf (" "); i = 0; } } }

takky19
質問者

お礼

うまく出力することができました。ありがとうございました。

その他の回答 (2)

  • Interest
  • ベストアンサー率31% (207/659)
回答No.2

ANo.1 の方同様、私も質問者さんが何をしたいのかよくわかりません。期待する入力例と出力例をもういくつか挙げてください。 でなければ、 puts("AAAA BBBB CCCC DDDD"); で終わりです。 最初からスペースを入れて出力するだけ、そんなことを求めているのではありませんよね?

takky19
質問者

補足

ファイルから文字列を読み込み、その文字列が"AAAABBBBCCCCDDDD"と与えられていたのをprintfで4文字ごとにスペースを入れてAAAA BBBB CCCC DDDDと言った形に出力したいのです。

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

スペースを挿入する位置を決定するルールがはっきりしていないため、答えられません。 異なる文字の間にスペースを入れるのか、単に決まった位置に挿入するのか、等々。 プログラムを作るには、そのようなルール(仕様といいます)が明確でなければいけません。

takky19
質問者

補足

説明が不十分ですみません。4文字ごとにスペースを作って出力したいのです。

関連するQ&A

  • UNIXで文字列分割

    UNIXでマルチバイトの文字列で分割したいです。 例) aaaa bbbb cccc dddd eeee ffff ↓ [bbbb]で分割 [1]aaaa [2] cccc dddd eeee ffff できればawkで処理をしたいと考えています。

  • A列にあったものには1、C列にあったものには2

    シート1の内容をVBAをつかってシート2のようにしたいです。 つまり、シート1の2行目以降のデータをシート2のB列につなげて、 A列には シート1の1行目に記載している番号をふっていきます。 もともとA列にあったものには1、C列にあったものには2、E列にあったものには3と振りたいのですが、どのようにマクロを書けばいいでしょうか? [Sheet1]   A  B  C  D  E 1 1  2  3 2 aa aaa aaaa 3 bb bbb bbbb 4 cc cccc 5  dddd ----------------------------- [Sheet2] A B 1 1 aa 2 1 bb 3 1 cc 4 2 aaa 5 2 bbb 6 3 aaaa 7 3 bbbb 8 3 cccc 9 3 dddd

  • エクセルについての質問。

    エクセルの関数に関して質問があります。 |10001|AAAA|10002|BBBB| |10002|BBBB|10004|DDDD| |10003|CCCC|10004|DDDD| |10004|DDDD|10001|AAAA| |10005|EEEE|10005|EEEE| ちょっと分かりにくいですが 一番上の行ですと、 列A=10001 列B=AAAA 列C=10002 列D=BBBB と考えて下さい。 質問です。 --------------------------- 列Cの数値を列Aから検索して 同じのがあれば列Bの数値を列Dに表示する。 --------------------------- この関数を教えて頂けませんでしょうか? 宜しくお願い致します。

  • excel 記入文字列の集計

    よろしくお願いします。 入力用シートのある列で文字列の記入が合った時に、集計用シートにその文字列を集計していくようにしたいのです。 例:入力用シート  行数 :集計列 1  :aaaa 2  :記入なし   3  :bbbb 4  :記入なし 5  :記入なし 6  :cccc 集計用シート 行数 :集計列 1  :aaaa   2  :bbbb 3  :cccc よろしくお願いします。

  • PHPの変数で最初から2行分の文字列を取得したい

    phpで変数に格納されたデータの最初の2行分の文字列だけを取り出す方法を教えてください。 例)複数行のデータ(\n区切り) aaaa bbbb cccc dddd 上記のデータが変数$valueに格納されています。 $valueに格納されたaaaa~bbbbまでを取得するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • PHP
  • エクセルで教えて下さい。

    エクセルで教えて下さい。 オートフィルタ、ピボットテーブル以外で関数などで教えて下さい。 A列に大量の文字列があり重複したりしてます。 そこで、 B列にはA列にある大量の文字列を重複なしで表示させたいと思ってます。 例えば A列 B列 AAAA AAAA BBBB BBBB AAAA CCCC CCCC DDDD DDDD EEEE DDDD FFFF EEEE FFFF EEEE AAAA みたいな感じです。A列は編集可能でQQQQを追加すれば自動でB列にも表示させたいです。 このようなことを簡単にできますでしょうか? 宜しくお願いします。

  • SQLの書き方について教えてください。

    accessについて。 シートの中に列名name、列名friendnameがあります。 name,friendname aaaa,bbbb bbbb,cccc cccc,aaaa dddd,aaaa eeee,bbbb ffff,eeee ほしいデータは aaaa,bbbb,cccc bbbb,cccc,aaaa cccc,aaaa,bbbb dddd,aaaa,bbbb eeee,bbbb,cccc ffff,eeee,bbbb と友達の友達の名前がほしいのです。 SQLの書き方を教えてください。 よろしくお願いします。

  • 文字列の最後のスペースを知るには?

    C言語初心者です。変な質問でしたらすみません。 C言語で、文字列"aaa bbbb ccc fff" という文字列があるとします。 この時fffの文字だけ取り出したいと思っています。 そこで最後のスペース(fffの前)の位置が分かれば見つける事ができると思います。 このスペースを見つけるライブラリ関数などございませんでしょうか? また、なければどうやって探したらよいか、教えていただけたら幸いです。 以上です。 よろしくお願いします。

  • "/"でセル内の文字を縦に分割するマクロについて

    マクロ作成の為に、ご協力下さい。 このようなデータが1つのセル内にあります。 aaaa/bbbb/cccc/dddd このセルに対して、"/"があったら下のセルに入力するようにしたいです。 aaaa bbbb cccc dddd どのようにしたら良いか見当がつきません。。。 よろしくお願いいたします。 ※区切り位置の機能を縦に使うようなイメージです。

  • [Excel]重複データの一方のセルが持つ値を一方の空白セルに反映させたい

    A列にある7000件ほどのデータの中から重複データのみを抽出し、 重複データの一方がB列に持つ値を、もう一方のデータのB列の空白セルに反映させたいのですが、方法はありますでしょうか? 「COUNTIF」を使って重複データの抽出はできますが、一方が持つデータをもう一方の空白に反映させることができません。 手作業では期限に間に合わない可能性がみえて焦っております。 恐縮ですがご教授いただけますでしょうか。 (例) [処理前] A列:B列:C列 1111:AAAA:aaaa 2222:BBBB:bbbb 3333:CCCC:cccc 1111:    :dddd 2222:    :eeee [処理後] A列:B列 1111:AAAA:aaaa 1111:AAAA:dddd 2222:BBBB:bbbb 2222:BBBB:eeee

専門家に質問してみよう