• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列のプログラミングを作ったのですが「)

配列のプログラミングで作成した成績表表示プログラムの間違い箇所とは?

このQ&Aのポイント
  • 配列のプログラミングで作成した成績表表示プログラムのコンパイルは成功するが、思い通りの解答にならない。
  • 問題文に基づいて暗算の成績表を表示するプログラムを作成したが、何か間違いがあるようだ。
  • コンパイルは成功するが、プログラムが意図した通りの出力を行わない。

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

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

> 思い通りの解答になりません。 具体的に、どのようになっているかわかりますか? ただ「思い通りにならない」と言われても、何の解決策も思い付きません。 具体的にどうなっているかを調べ、 どうしてそうなるのかを調べる というのが、プログラム修正の基本です。 おそらく ○何を入れても「正解」になる。 という現象が起っているのでは。 この現象から、想像力を働かせて、どうしてそうなるかを考えます。 例えば ○合否判定を間違えたら「全部正解」になりそうだ ○結果を保存する箇所を間違えたら「全部正解」になるかもしれない ○保存した結果を出力するときに間違えて「全部正解」と出力してしまっているかもしれない  合否判定は ans==a+b  ぉの結果を収納するのが if(ans==a+b) kaitou[i+1]=seikai; else kaitou[i+1]=huseikai;  出力するのが if(kaitou[i+1]==seikai) printf("○\n",seikai); else printf("×\n",huseikai); ここだけ取り出すと、判定は正しいように見えなくもないですが kaitou[]に代入されている具体的な数値をよく考えると、間違っていることが判明します。 kaitou[i+1]=seikai; kaitou[i+1]=huseikai; それぞれ、kaitou[i+1]にどんな値が入るか、考えてみましょう。 あと。 > int kaitou[10]; と宣言したとき kaitou[?]~kaitou[??] の?~??はいくつになるでしょう? forでi=0~9になっていますが、i=9のとき、 kaitou[i+1]はどうなるでしょうか? > printf("○\n",seikai); > printf("×\n",huseikai); エラーにはなりませんが、seikai,huseikaiが無意味です。

すると、全ての回答が全文表示されます。

その他の回答 (3)

noname#240995
noname#240995
回答No.3

正解と不正解が同じ値になってますよ。 あと配列の添字は0からなので+1はいらないですね。

すると、全ての回答が全文表示されます。
回答No.2

for(i=0;i<10;i++); は無意味。 int seikai=0; int huseikai=0; と同じ値をseikai、huseikaiに設定しているのに、if(kaitou[i+1]==seikai)とする不思議。 あと、気になるところは、既に指摘があるように#include<time.h>がないところ。 printf("%問\n",i+1);のdが抜けている気がするところ。 printf("○\n",seikai); printf("×\n",huseikai); のように、printfで全く使われていない引数が渡されているところ。

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

関数 time がプロトタイプなしに呼び出されている.

すると、全ての回答が全文表示されます。

関連するQ&A