• 締切済み

プログラミングC

次のプログラムは、キーボードから5個の整数データを入力し、すべてのデータ入力が終わった後で、実行例に示すように、それらのデータを入力順とは逆の順序で表示するプログラムである。このプログラムが正しく動作するように下線部を埋め、プログラムを完成させなさい。 int ______,i; for(i=0;i<______;i++) { printf("NO.%d:",i++) scanf("%d", &a[i]); } for(i=4;_____;i++) printf("%d,",a[i]); printf("%d\n",a[0]); [実行例] No.1:5 No.2:3 No.3:8 No.4:2 No.5:2 2,2,8,3,5

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.5

#4です。 一応穴埋めした箇所を説明しておきます。 最初の下線部 printf(const char*, ...); int scanf(const char*, ...); #define printf(s,i) printf((s),(i)+1); int main(void){int a[5], 2番目の下線部 1;i++)for(int i=0;--i<4; 3番目の下線部 i>=0;i--) #undef printf printf("%d\n", a[i]);} #define printf(...) printf(; です。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

かなり難問でしたが、何とか動くものを作ることができました。 int printf(const char*, ...); int scanf(const char*, ...); #define printf(s,i) printf((s),(i)+1); int main(void){int a[5],i; for(i=0;i<1;i++)for(int i=0;--i<4;i++) { printf("NO.%d:",i++) scanf("%d", &a[i]); } for(i=4;i>=0;i--) #undef printf printf("%d\n", a[i]);} #define printf(...) printf(;i++) printf("%d,",a[i]); printf("%d\n",a[0]);

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

> このプログラムが正しく動作するように下線部を埋め、プログラムを完成させなさい。 解答: これは部分でしかなく、「正しく動作するように」するには「下線部を埋め」るだけでは不可能。 main関数の定義に入れるとか、必要なヘッダを#includeするとかいった、下線部以外にも修正しないと「プログラムとして完成」しない。 それを直しても > printf("NO.%d:",i++) > scanf("%d", &a[i]); で文法エラーになるので「プログラムとして完成」しない。 下線部だけで仕様通りに動くように考えたんだけどなぁ。 文法エラー見落としてた。 折角なので参考解答: 上記、「プログラムとしての形式」「文法エラー」を修正した上で int f0=0, a[7],i; for(i=0;i<1?(i=1):(i-=1,a[i-2]=a[i],i<=5) ;i++) for(i=4;f0?(i-=2,i>0):(f0=1,i>0);i++)

  • Wingwrong
  • ベストアンサー率38% (5/13)
回答No.2

何がわからないかを聞くのではなくこういうクイズ形式の質問の場合、 この問題を作った出題者の意図は、「問題を解かせたい」という一点に限られます。 その問題を質問サイトで聞く以上、この投稿者は出題者とは別人で、 まして「質問サイトの利用者にこの問題を解かせたい」という意図などあるわけがありません。 つまり出題者の意図は「この問題を投稿者に解かせたい」ということにあるので、 サイト閲覧者である我々が解く意味はないどころか、 むしろ回答することがこの問題の出題者に対する侮辱であるとも言えるのです。 そしてその出題者の意図を最も知っていながらこのような無礼を働く投稿者は、 出題者を侮辱するマナーのかけらもない最低な人間であるということがここに証明されるのです。

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

で、質問はなんですか?

関連するQ&A