• ベストアンサー

c言語の問題で質問があります。

* 繰り返しを利用して,printfの命令を一回だけ用いて, * -5 から -2 と 3 から 5 までの数字を表示するプログラムを作成せよ * * ※ プログラム中に printfは一回しか記述してはいけません * * ヒント:繰り返しの中で,条件分岐をうまく利用しましょう. * 【実行結果】 -5 -4 -3 -2 3 4 5 * */ これを、コマンドプロンプトで表示するには、メモ帳にどう入力すればよいですか?

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

  • ベストアンサー
  • FoolWord
  • ベストアンサー率73% (14/19)
回答No.4

void main(vooid) { int i; for(i=-5; i<=5; i++) // 数値の範囲(-5~5) { if((i>=-5 && i<=-2) || (i >=3 && i<=5)) // 表示する条件:iが-5から-2の時もしくは3から5の時 { printf("%d\n",i); // 条件に合った数値を表示 } } }

その他の回答 (3)

回答No.3

メモ帳? #include <stdio.h> int main() { for( int ii = -5; ii <= 5; ii++ ) { if( -1 > ii || 2 < ii ) printf( "%d\n", ii ); } return 0; } または int main() { int output[] = { -5,-4,-3,-2,3,4,5 }; for( int ii = 0; ii < sizeof( output ) / sizeof( output[ 0 ] ); ii++ ) { printf( "%d\n", output[ ii ] ); } return 0; }

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

#include<stdio.h> void main() { int i; for(i=-5;i<=5;i++){ /*-5~5までくりかえす*/ if(i==-1) /*iが-1になったら*/ i+=4; /*4たす、すなわちiは-3になる*/ printf("%d\n",i); /*iを書く*/ } }

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.1

これだけだと、何通りも答えがありそうな気がします。 繰り返しさえ使わずに printf("-5\n-4\n-3\n-2\n3\n4\n5\n"); とベタうちしても、一応条件を満たすことは可能ですし、 配列使って int n[7]={-5,-4,-3,-2,3,4,5}; int i; for(i=0;i<7;i++){ printf("%d\n",n[i]); } みたいなのとかも可能な気がします。

関連するQ&A

  • 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の使い方 とあるのですが、、よろしければ回答お願いします。

  • C++言語の課題です

    C++言語の課題です 4つの数字をキーボードから入力させ、入力が終わったら、その最大値を表示するプログラムを作成しなさい という問題が出ました。 4つの数字を入力して 読み込むまではわかりましたが 条件分岐のところから わからなくなりました。 使ってる文法は printf scanf if elseif などです どなたか教えて下さい

  • C言語の仕組み

    C言語の仕組み printfという命令で画面に文字を表示できますが、文字が表示される画面はMS-DOSの画面や開発プログラムの実行ウィンドウの中ですよね。 もしC言語がPCに直接命令できるのであれば、画面全体が真っ暗になって、そこに文字が表示されるべきなのではないかと思いました(つまり、OS上で動くべきではない)。 しかし、仮に全く最初から文字を打つとしたら、ディスプレイの仕組みを理解して、ドットで文字を表示させなければなりません。 いったいprintfというのはどこに対して命令しているものなのでしょうか

  • C言語の標準入力について

    コマンドプロンプトで program.c < filename と、「 < ファイル名」と入力された時と、そうでない時で分岐したのですがどうすればよいですか? お願いします。

  • C言語について

    C言語初心者です。 「かんたんC言語」という書籍で学習しております。 コマンドプロンプトでのプログラムの実行方法がよくわかりません。 教えて頂けないでしょうか?

  • C言語の入力方法について

    C言語で以下のようなプログラムをつくるとします。 ・5個の数字を入力し、合計を求める。 その際、コマンドプロンプト上に実行結果が下記のようにでるとします。 例: 1個めの数字を入力してください→ ここで1を入力すると 例: 1個めの数字を入力してください→1 2個めの数字を入力してください→ このようになったときに「やっぱり1個めの数字を変更したい」 となったときに変更する手段はあるのでしょうか?

  • C言語の質問です

    下記のプログラムは数字の0から9を意味する英単語の文字列テーブルを作成し、それからユーザーに(文字として)数字を入力させ、このテーブルを使って該当する単語を表示するものです #include <stdio.h> #include <conio.h> int main(void) { char digits[10][10] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; char num; printf("数字を入力してください: "); num = getche(); printf("\n"); num = num - '0'; if(num>=0 && num<10) printf("%s", digits[num]); return 0; } num = num - '0' とするのが分かりません。 使っている本には、ヒントとして 『入力された文字から'0'を引けば、テーブルのインデックスが得られます』とありますが、これもよく分かりません。

  • コマンドプロンプトを使ったC言語

    こんにちは。 現在C言語を勉強している者です。 やりたいこととしては コマンドプロンプト上で、****.cファイルを実行して CドライブやDドライブ内のファイルを移動やコピーをしたいと考えております。 また、その際(移動やコピーの実行後)に コマンドプロンプト上で"Successful!!"等を表示させたいと考えております。 そこで質問なのですが 1. 上記内容を実現するに従って必要なソフト(コンパイラ)等ありましたら教えて下さい。 2. コマンドプロンプトを利用するにあたって、移動やコピー以外にも、もっと有効利用等ありましたらご教授下さい。 宜しくお願いします。

  • C言語で分からないところがあるのですが・・・

    すみません。C言語で分からないところがあったので来ました。 ユーザから数字を任意の数だけ受け取って、その数字とその和を表示するプログラムです。atoiなる関数、そしてコマンドライン引数というのを使って考えてみた結果を下に書きましたので、どなたか修正してください。お願いします。 実行結果(のイメージ図) 20 39 4 sum 20 39 4 63 途中までのソースコードです。 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc,char *argv[]) { int sum; int n,i; printf("How many numbers INPUT?: "); scanf("%d", &n); for(i = 0; i <= n; i++){ atoi(argv[i]); } sum = printf("%d",sum); return 0; }

  • C言語についての質問です

    プログラミングについての質問ですが、 printfで画面上に * *** ***** ******* というようにツリー状にアスタリスクを並べていくプログラムを作成したいのですが、 やりかたが良く分かりません。 使用できるヘッダーは<stdio.h>のみで、 printf( %s, ???)という構文を4回読みだす方法で、配列を利用するとの事なのですが、 分かる方がいらっしゃいましたらよろしくお願いいたします。

専門家に質問してみよう