昔々、C言語が生まれた頃、コンピュータ「本体」はただの「箱」でした。計算するだけ。キーボードから入力するとか、プリンターに文字を出したり画面に文字を表示するというのも当時のコンピュータにとってはそれなりの重い負担でしたから、別の装置として独立していて、それと(多くはシリアル:RS232等で)データをやりとりしていました。このキーボードとプリンタだけの機械がそもそもの「端末装置(Terminal)」でした。また、歴史が下るとプリンタで紙に文字を打ち出すのでなく画面上に文字を映す「CRT端末」になって、画面表示を制御する「エスケープシーケンス」が使われるようにもなりました...
「装置」はいまはコンピュータ本体にとりこまれてそれでも「端末/Terminal」と呼ばれていたりします。今となっては全然「標準」ではない「標準入力/出力」なんていう考え方も、この構成が根っこにあるものです。
タブというのは、直接は文字を表さない文字コード(0x9, \t)を使って端末に対してある位置までカーソルを進める、という命令です。もともとタイプライターの機能で、その発展形としてプリンターに載ったもの。どの位置まで進めるかは端末装置(端末プログラム)側が決めることで、C言語側は預かり知らぬことです。昔はtabは8カラム(桁)毎というのが多かったように思いますが、最近では2~4カラム毎に設定することのほうが多いでしょうか。
という昔話を前提にして。
今回について言えば、出題側でタブが何カラム毎かを指定しないかぎり出題ミスというか不適切な出題設定というか...だと思います。
その問題であれば
C
1 printf("Intel :Core i7\n", "Intel");
2 printf("AMD :Phenom II\n", "AMD");
で完全に題意を満たしているので難しいことをしないのがよいのではないでしょうか。
あるいは、もう少しかっこよく?やるなら、
C
1 const int COLUMN=8;
2 printf("%-*s:Core i7\n",COLUMN, "Intel");
3 printf("%-*s:Phenom II\n",COLUMN, "AMD");
とでもするかしら。
別件。
コードの提示は画像はやめて下さい。テキストのコピペでお願いします。この程度ならまぁいいけど、写真じゃ間違いがあったときなど「目で探す」しかないし、回答者側で試してみようとしても全部「手で打ち直し」などという羽目になるので。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。