- ベストアンサー
C言語プログラムの課題:変数xとyに値を代入してyの値を表示する
- C言語の課題で、変数xとyを宣言し、y = 3x + 2の式に0, 1, 2を代入した場合のyの値を表示するプログラムを作成しました。
- プログラム中では、forループを使用して0から2までの値を順番にxに加え、それぞれのxに対してyの値を計算し、表示しています。
- しかし、プログラムにはエラーがあり、正しい計算ができていません。正しい計算結果を得るために、修正を行って再提出する必要があります。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
「int型変数xとyを宣言する。y = 3x + 2というのに0,1,2を代入した時のy値を表示しなさい。」が本当に問題文そのものなんですか? 「y = 3x + 2というのに0,1,2を代入」って意味不明なんですけど。 「式y = 3x + 2のxに0, 1, 2を代入したときのyの値を表示しなさい。」の間違いではありませんか? >x = x + i; この式が何を意味するのか、よく考えてください。
その他の回答 (5)
- wormhole
- ベストアンサー率28% (1626/5665)
>xに値を代入する、という意味を持って xに、どのような値を代入するのかを説明してください?
- toi_awase_01
- ベストアンサー率31% (133/429)
No2さんの回答で良いと思いますが、問題文に式も合わせて表示せよとは 一言も書かれていない為、printfは printf("x = %d の時 y = %d\n", x, 3*x+2); で良いと思いますが? 実行結果は次のように表示されます。 x = 0 の時 y = 2 x = 1 の時 y = 5 x = 2 の時 y = 8 要は、式など表示せずに計算結果だけを表示せよと言う事ではないかな?
- asuncion
- ベストアンサー率33% (2127/6290)
問題文にint型変数yを宣言すると書いてあるので、 int x, y; という文と、 ループの中の y = 3 * x + 2; と、printf関数の中の x, y の部分は、最初に投稿されたコードでOKのはずです。
- asuncion
- ベストアンサー率33% (2127/6290)
こんな感じでしょうか。 少なくとも x = x + i; のくだりは不要です。 #include <stdio.h> int main(void) { int x; for (x = 0; x <= 2; x++) { printf("x = %d, y = 3 * x + 2 = %d\n", x, 3 * x + 2); } return 0; }
お礼
asuncionさん 返信いただきありがとうございます。 実行結果に書いてあるように、y=3*x+2も三回繰り返されているため、for文に >y=3*x+2; を作成したのですが、こちらも不要でしたか?
- maiko0333
- ベストアンサー率19% (839/4401)
>x = x + i; 間違いはこの行。内容についてはよく考えてみよう。 xの値とiの値を表示してみよう。 それからこれは実行できないはず。 コンパイル時のエラーメッセージが出なかったかな?
お礼
maiko0333さん 返信いただきありがとうございます。 講義でのサイトにて提出し実行結果が表示される仕様になっているため、 「y = 3 * x + 2 を3回計算してください. 修正し,再提出してください」 というような結果表示しかされませんでした。 また、 >x=x+i; 以外にの間違い箇所はどこになりますでしょうか・・・。
お礼
womholeさん 返信いただきありがとうございます。 womholeさんのおっしゃる通り、問題文に訂正がございました。 大変申しわけありません・・・。 xに値を代入する、という意味を持って >x=x+i; を作成したのですが、エラーが出てしまいます・・・。