C言語でコマンドプロンプトでaaabbbcccとAAAとBBBとCCCを出力するプログラムを作成する方法

このQ&Aのポイント
  • C言語を使用して、コマンドプロンプトでaaabbbcccとAAAとBBBとCCCを出力するプログラムを作成する方法について教えてください。
  • 回答例では、printf()関数を使用してaaabbbcccを3つのprintf()で出力し、AAAとBBBとCCCを1つのprintf()で出力しています。
  • ヒントに の使い方があるようですが、具体的な使い方について教えてください。
回答を見る
  • ベストアンサー

C言語の初歩的な質問ですが・・・

コマンドプロンプトでの実行結果が aaabbbccc AAA BBB CCC と出力されるプログラムを作りなさいという問題で、 #include <stdio.h> int main(void) { printf("aaa"); printf("bbb") printf("ccc\n"); printf("AAA\nBBB\nCCC\n"); return 0; } という回答例があり、この回答例以外の回答を全く同じ条件で考えないといけないのですが、かなり考えてもできませんでした。条件は、aaabbbcccは3つのprintf()で出力で、AAAとBBBとCCCは1つのprintf()で出力です。 ヒントに\nの使い方 とあるのですが、、よろしければ回答お願いします。

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

  • ベストアンサー
回答No.1

> aaabbbcccは3つのprintf()で出力で という条件だけなら、 printf("aa"); printf("abbbc"); printf("cc\n"); でもいいわけですよね。 3文字を分割してはいけないなら、 printf("ccc\n"); printf("AAA\nBBB\nCCC\n"); の部分を ptintf("ccc"); printf("\nAAA\nBBB\nCCC\n"); にするとか。

関連するQ&A

  • C言語 教えてください

    data.txtの中に入っているデータを読み込み、 全て出力するというプログラムを作ろうとしています。 しかし、上手く読み込み表示させることが出来ません。 自分で出来るだけ調べたのですが、 どこがおかしいのかわからないので教えてください。 ↓↓↓現在作っているプログラムです↓↓↓ #include <stdio.h> void main(void) { FILE *fp; char number, name; if ((fp = fopen("data.txt", "r")) == NULL) { printf("FILE OPEN ERROR\n"); } else { while (fscanf(fp, "%s%s", number, name) == 2) { printf("%s-%s\n", number, name); } } fclose(fp); printf("FILE CLOSE !!\n"); } ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ↓↓data.txt↓↓ 001 aaa 002 bbb 003 ccc 004 ddd 005 eee ↑↑↑↑↑↑↑↑ よろしくお願いします。

  • C言語について

    #include <stdio.h> int main(void) { printf("123456\tABC DEFGHIJK\n"); printf("2006/4/14\n"); printf("programing\n"); } のprintfをすべてputsに書き換えてコンパイル・実行すると、 #include <stdio.h> int main(void) { puts("123456\tABC DEFGHIJK\n"); puts("2006/4/14\n"); puts("programing\n"); } になると思うんですけど、そのputsを用いて上のprintfを用いたプログラムと同じ出力を得るにはどのようなプログラムに変えればいいのでしょうか?

  • C言語のプログラム

    文字列が与えられ、その中の最初に現れた文字"@"から最後の"@"の部分を画面に表示する関数ponkan[]を教えてください。 よろしくお願いします。 (例 変換前 aaa@bbb@ccc@ddd@eee 変換後 bbb@ccc@ddd@ #include <stdio.h> int main(void) { ... return (0); }

  • メモリ違反でソフトが強制終了してしまいます。

    コンパイルして実行すると ttp://kei100.jp/diary/images/20050612_0.png このようなメッセージが表示されてしまいます。 #include <windows.h> #include <stdio.h> #include <string.h> void main(void) { HANDLE hFile; HGLOBAL hg = GlobalAlloc(GMEM_FIXED, 1000); char* test = "test"; LPTSTR aaa="spacetestspace"; char* bbb = NULL; char ccc[5]; aaa=(char*)GlobalLock(hg); bbb = strstr(aaa, test); strncpy(ccc, bbb, strlen(test)); printf("ccc = %s \n", ccc); GlobalUnlock(hg); GlobalFree(hg); GlobalFree(aaa); } どなたか解決方法を知っている方、回答よろしくお願いします。

  • c言語のプログラムの実行

    #include<stdio.h> int main() { int val; val=5; printf("今、変数の中身は、%dです\n", val); val=val+1; printf("今、変数の中身は、 %dです\n", val); val=val++; printf("今、変数の中身は、 %dです\n", val); return 0; } をファイル名 aaa  として、 %  gcc  aaa.c  で無事コンパイルできましたが、いざ実行しようと % ./aaa    Enter とすると ./aaa.out:コマンドが見つかりません.  となります。 また 別に %  ./aaa.out Enter としても上と同様な結果になります。 ぜひ、お答えを頂きたいです。     この時は unixとwindows98を使用しています。  

  • sortに関する質問

    いつもお世話になっております。 書籍でperlを独習しているものです。 質問内容が長くなってしまいますが、お付き合いいただければ幸いです。 @array=("bbb","aaa","ccc"); @list=sort @array; count=0; foreach $value(@list){ printf "%d":"[%s]\n",$count,$value; $count++; } このコードの9行目のprintfですが、 printの後の"f"の意味について教えて下さい。 今まで学んできたものは、全てprintとしか入力していなかったので、 何の説明もなしに出現して困惑しています。 又、printf以降の"%d":"[%s]\n",$count,$value; も理解できません。 コマンドプロンプトでの出力結果は 0:[aaa] 1:[bbb] 2:[ccc] となりました。 以上、宜しくお願い致します。

    • ベストアンサー
    • Perl
  • C言語

    以下の出力結果はどうなりますか? 教えてください。 #include <stdio.h> #include <stdib.h> int main (void){ int n,f; n=792; f=2; while(f*f<=n){ while(n%f==0){ printf("%d",f); n=n/f; } f++; } if(n !=1) printf("%d",n); printf("\n"); return 0; }

  • 構造体の型について

    ある構造体をxxxと名づける以下のプログラムを作成しました。 ーーーーーーーーーーー #include <stdio.h> #include <string.h> main() { typedef struct { char variable[64]; char type[64]; char value[512]; } xxx; xxx aaa; strcpy(aaa.variable,"bbb"); printf("%s\n",aaa.variable); } ーーーーーーーーーーー これは動き、bbbと表示されます。 しかしながら、構造体のポインタを使用した 以下のプログラムではコンパイルはとおりますが実行時にコアダンプして落ち ます。 ーーーーーーーーーーーーーーーーーーーー #include <stdio.h> #include <string.h> main() { typedef struct { char variable[64]; char type[64]; char value[512]; } xxx; xxx* aaa; strcpy(aaa->variable,"bbb"); printf("%s\n",aaa->variable); } ーーーーーーーーーーーーーーーーーーーーーーー 両プログラムの意図はまったく同じなのに何故いけないのでしょうか。

  • 配列から構造体へデータコピー

    配列から構造体へデータのコピーをしたいのですが、 構造体のメンバがビットフィールドで構成されている時の処理がわかりません。 --------test.c----------- #include <stdio.h> #include <string.h> typedef struct{ unsigned char aaa :1; unsigned char bbb :1; unsigned char ccc :1; unsigned int ddd :13; unsigned char eee :2; unsigned char fff :2; unsigned char ggg :4; }test_t; int main(void) { test_t test_t; unsigned char data[]={0x5F, 0xFE, 0x1C}; memcpy(&test_t, data, 4); printf("aaa = %X\n", test_t.aaa); printf("bbb = %X\n", test_t.bbb); printf("ccc = %X\n", test_t.ccc); printf("ddd = %d\n", test_t.ddd); printf("eee = %X\n", test_t.eee); printf("fff = %X\n", test_t.fff); printf("ggg = %X\n", test_t.ggg); return 0; } ------期待出力--------- aaa = 0 bbb = 1 ccc = 0 ddd = 1FFE eee = 0 fff = 1 ggg = 12 「test.c」を実行した時に「期待出力」のような出力を期待していたのですが、実際には aaa = 1 bbb = 1 ccc = 1 ddd = 1 eee = 0 fff = 0 ggg = 0 と表示されてしまいます。 ビットフィールドで構成された構造体に、配列の値をそのままあてる事は出来ないのでしょうか? 出来るだけ、マスクやシフト演算を使用しないで、配列からビット単位で値を抽出したいのですが・・・

  • c言語のフローチャートについての質問です

    #include <stdio.h> int main (void) { int n; for (n=1900; n<2000; n++) { if (n%4==0 && n%100!=10) printf ("%d",n); else if(n%400==0) printf ("%d",n); } printf("\n"); return 0; } をフローチャートに直したいのですがいまいち方法が解りません、どなたか詳しい回答お願いします JIS規格のものでお願いします