C言語初心者です
Re:C言語初心者です
おはようございます。
とりあえず↓でsoftyaさんが紹介されているC言語の入門サイトをコピーさせていただきます。
http://www.play21.jp/board/formz.cgi?ac ... &rln=51943
「苦しんで覚えるC言語(苦C)」
http://homepage3.nifty.com/mmgames/c_guide/
「猫でもわかるC言語プログラミングのサイト」
http://homepage2.nifty.com/c_lang/
「C言語入門」
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
「C言語編」
http://www.geocities.jp/ky_webid/c/index.html
「C言語で始めるプログラミングの基礎」
http://itpro.nikkeibp.co.jp/article/COL ... 20/328713/
「アルゴリズム入門」
http://www5c.biglobe.ne.jp/~ecb/algorit ... thm00.html
それから、規約も参考にされるとよいでしょう。
http://dixq.net/board/board.html
また、ぽぽさんのご自宅や学校(?)などに、C言語のコンパイル環境はありますか?少しコードを書いてはコンパイルして確認する繰り返しが必要と思いますので。
とりあえず↓でsoftyaさんが紹介されているC言語の入門サイトをコピーさせていただきます。
http://www.play21.jp/board/formz.cgi?ac ... &rln=51943
「苦しんで覚えるC言語(苦C)」
http://homepage3.nifty.com/mmgames/c_guide/
「猫でもわかるC言語プログラミングのサイト」
http://homepage2.nifty.com/c_lang/
「C言語入門」
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
「C言語編」
http://www.geocities.jp/ky_webid/c/index.html
「C言語で始めるプログラミングの基礎」
http://itpro.nikkeibp.co.jp/article/COL ... 20/328713/
「アルゴリズム入門」
http://www5c.biglobe.ne.jp/~ecb/algorit ... thm00.html
それから、規約も参考にされるとよいでしょう。
http://dixq.net/board/board.html
また、ぽぽさんのご自宅や学校(?)などに、C言語のコンパイル環境はありますか?少しコードを書いてはコンパイルして確認する繰り返しが必要と思いますので。
Re:C言語初心者です
早速ありがとうございました。サイト参考にさせていただきます。コンパイル環境はありますが失敗ばかりです。
はじめてきたサイトだったので、投稿してから規約を読んでしまいました。申し訳ありません。
マナー違反ですが、お許しください。
それで問題の続きがあったのでもしお許しいただけるなら教えてください。
問題
あるクラスの試験の点数を整数で繰り返し入力し、点数の合計と平均点を出力するプログラムを作成しなさい。
点数は、0点以上100点以下とし、この範囲外の点(0点未満または100点より大きい点)が入力されたときは、入力を終了し、点数の合計と平均点を出力する(最後に入力された範囲外の点は集計の対象としない)。 また、平均は小数点以下2桁まで出力する。
繰り返しの命令は、何を使ってもよい
実行例
点数:10
点数:100
点数:20
点数:35
点数:120
合計:165点
平均: 41.25点
はじめてきたサイトだったので、投稿してから規約を読んでしまいました。申し訳ありません。
マナー違反ですが、お許しください。
それで問題の続きがあったのでもしお許しいただけるなら教えてください。
問題
あるクラスの試験の点数を整数で繰り返し入力し、点数の合計と平均点を出力するプログラムを作成しなさい。
点数は、0点以上100点以下とし、この範囲外の点(0点未満または100点より大きい点)が入力されたときは、入力を終了し、点数の合計と平均点を出力する(最後に入力された範囲外の点は集計の対象としない)。 また、平均は小数点以下2桁まで出力する。
繰り返しの命令は、何を使ってもよい
実行例
点数:10
点数:100
点数:20
点数:35
点数:120
合計:165点
平均: 41.25点
Re:C言語初心者です
C言語です。
僕がやっていたのは、
int nin,tenk,goukei,heikin;
goukei=0;
nin=0;
while(1){
printf("Enter ten=>");
scanf("%d", &ten);
if(ten<0) break;
goukei+=ten;
nin++;
}
printf("goukei:%d ten\n",goukei);
heikin=goukei/nin;
printf("\nheikin:%dten\n",heikin);
以上なんです。まったく話にならないプログラムかもしれませんが、コンパイルはエラーになります。
なんどもすみません。
Re:C言語初心者です
コードは最初から最後まで全てを貼ったほうがいいですよ。
エラーも、どんなエラーが出たのかを書いてもらわないと答えにくいですし。
まず、平均点はintでは出ませんよね。宣言もtenがtenkになってますし。
また、0点未満が入力されたとき、while文から抜け出しているので、後は100点より大きい点が入力されたときもwhile文から抜け出せばよいわけです。
printf("\nheikin:%dten\n",heikin); の最初の\nは何か意図があるのでしょうか?
エラーも、どんなエラーが出たのかを書いてもらわないと答えにくいですし。
まず、平均点はintでは出ませんよね。宣言もtenがtenkになってますし。
また、0点未満が入力されたとき、while文から抜け出しているので、後は100点より大きい点が入力されたときもwhile文から抜け出せばよいわけです。
printf("\nheikin:%dten\n",heikin); の最初の\nは何か意図があるのでしょうか?
Re:C言語初心者です
ぽぽさんに限らず誰にでも通じることですので、やや説教じみたことをあえて書きます。
> 課題の提出期限が今日までだったので、
よほどの緊急事態ならともかく、出題から提出期限までが1日かそこらしかないということはないと思います。
与えられた課題を期限までに仕上げて提出するためには、次のことを徹底しなければなりません。
1. 最初の段階で何をすべきなのかを明確にする。
明確にならなければ、明確になるまで出題者に確認を行うこと。
2. 十分な余裕を持って、技術的な問題点を洗い出し、その解決策を見つける。
問題点を洗い出すには、この程度の課題なら実際に作ってみるのが一番
3. 期限に間にあいそうにないと判断した場合は、巻き返し可能な段階で対策を講じる。
出題者に相談するなど
4. 可能であれば期限前に提出するなどし、それで問題ないかを確認する。
ここまでしなくてもできる自信があるのなら問題ありませんが、できないならできないなりの対応をすべきです。
それができることが「やる気がある」ということです。
> 課題の提出期限が今日までだったので、
よほどの緊急事態ならともかく、出題から提出期限までが1日かそこらしかないということはないと思います。
与えられた課題を期限までに仕上げて提出するためには、次のことを徹底しなければなりません。
1. 最初の段階で何をすべきなのかを明確にする。
明確にならなければ、明確になるまで出題者に確認を行うこと。
2. 十分な余裕を持って、技術的な問題点を洗い出し、その解決策を見つける。
問題点を洗い出すには、この程度の課題なら実際に作ってみるのが一番
3. 期限に間にあいそうにないと判断した場合は、巻き返し可能な段階で対策を講じる。
出題者に相談するなど
4. 可能であれば期限前に提出するなどし、それで問題ないかを確認する。
ここまでしなくてもできる自信があるのなら問題ありませんが、できないならできないなりの対応をすべきです。
それができることが「やる気がある」ということです。
Re:C言語初心者です
あぁ・・一足遅かったですか・・。
もうちょっと早めに投稿されると色々アドバイスが受けられると思いますよ。
ところで、提出後もまだ勉強されるでしょうか?
投稿されたコードは結構おしいところまで出来ていますね。
次のヒントを元にコードを改良してみて下さい。
・0未満が入力されたらループを抜ける事が出来るが、100超過だと現在はそのままになっている
・1回目に0~100以外が入力されたらnin=0になっており、「0で割る」というしてはいけないことをするコードになっている
・小数点が表せる実数はint型ではなくdouble型(or float型)
・double型の変数の中身をprintfで表示させるには%fを使う
・int型とint型の計算結果はint型になるので、平均計算の際は整数同士の計算にならないように気を付ける。
この辺を踏まえて修正すると解けると思いますよ。
もうちょっと早めに投稿されると色々アドバイスが受けられると思いますよ。
ところで、提出後もまだ勉強されるでしょうか?
投稿されたコードは結構おしいところまで出来ていますね。
次のヒントを元にコードを改良してみて下さい。
・0未満が入力されたらループを抜ける事が出来るが、100超過だと現在はそのままになっている
・1回目に0~100以外が入力されたらnin=0になっており、「0で割る」というしてはいけないことをするコードになっている
・小数点が表せる実数はint型ではなくdouble型(or float型)
・double型の変数の中身をprintfで表示させるには%fを使う
・int型とint型の計算結果はint型になるので、平均計算の際は整数同士の計算にならないように気を付ける。
この辺を踏まえて修正すると解けると思いますよ。
Re:C言語初心者です
> コードは最初から最後まで全てを貼ったほうがいいですよ。
> エラーも、どんなエラーが出たのかを書いてもらわないと答えにくいですし。
>
> まず、平均点はintでは出ませんよね。宣言もtenがtenkになってますし。
> また、0点未満が入力されたとき、while文から抜け出しているので、後は100点より大きい点が入力されたときもwhile文から抜け出せばよいわけです。
> printf("\nheikin:%dten\n",heikin); の最初の\nは何か意図があるのでしょうか?
>
>
ありがとうございます。
改行の文字を入れたんですが/になってしまいました。
> エラーも、どんなエラーが出たのかを書いてもらわないと答えにくいですし。
>
> まず、平均点はintでは出ませんよね。宣言もtenがtenkになってますし。
> また、0点未満が入力されたとき、while文から抜け出しているので、後は100点より大きい点が入力されたときもwhile文から抜け出せばよいわけです。
> printf("\nheikin:%dten\n",heikin); の最初の\nは何か意図があるのでしょうか?
>
>
ありがとうございます。
改行の文字を入れたんですが/になってしまいました。
Re:C言語初心者です
> ぽぽさんに限らず誰にでも通じることですので、やや説教じみたことをあえて書きます。
>
> > 課題の提出期限が今日までだったので、
>
> よほどの緊急事態ならともかく、出題から提出期限までが1日かそこらしかないということはないと思います。
> 与えられた課題を期限までに仕上げて提出するためには、次のことを徹底しなければなりません。
>
> 1. 最初の段階で何をすべきなのかを明確にする。
> 明確にならなければ、明確になるまで出題者に確認を行うこと。
>
> 2. 十分な余裕を持って、技術的な問題点を洗い出し、その解決策を見つける。
> 問題点を洗い出すには、この程度の課題なら実際に作ってみるのが一番
>
> 3. 期限に間にあいそうにないと判断した場合は、巻き返し可能な段階で対策を講じる。
> 出題者に相談するなど
>
> 4. 可能であれば期限前に提出するなどし、それで問題ないかを確認する。
>
> ここまでしなくてもできる自信があるのなら問題ありませんが、できないならできないなりの対応をすべきです。
> それができることが「やる気がある」ということです。
>
次回から気をつけさせていただきます。ありがとうございます。
>
> > 課題の提出期限が今日までだったので、
>
> よほどの緊急事態ならともかく、出題から提出期限までが1日かそこらしかないということはないと思います。
> 与えられた課題を期限までに仕上げて提出するためには、次のことを徹底しなければなりません。
>
> 1. 最初の段階で何をすべきなのかを明確にする。
> 明確にならなければ、明確になるまで出題者に確認を行うこと。
>
> 2. 十分な余裕を持って、技術的な問題点を洗い出し、その解決策を見つける。
> 問題点を洗い出すには、この程度の課題なら実際に作ってみるのが一番
>
> 3. 期限に間にあいそうにないと判断した場合は、巻き返し可能な段階で対策を講じる。
> 出題者に相談するなど
>
> 4. 可能であれば期限前に提出するなどし、それで問題ないかを確認する。
>
> ここまでしなくてもできる自信があるのなら問題ありませんが、できないならできないなりの対応をすべきです。
> それができることが「やる気がある」ということです。
>
次回から気をつけさせていただきます。ありがとうございます。
Re:C言語初心者です
> あぁ・・一足遅かったですか・・。
> もうちょっと早めに投稿されると色々アドバイスが受けられると思いますよ。
>
> ところで、提出後もまだ勉強されるでしょうか?
> 投稿されたコードは結構おしいところまで出来ていますね。
> 次のヒントを元にコードを改良してみて下さい。
>
> ・0未満が入力されたらループを抜ける事が出来るが、100超過だと現在はそのままになっている
> ・1回目に0~100以外が入力されたらnin=0になっており、「0で割る」というしてはいけないことをするコードになっている
> ・小数点が表せる実数はint型ではなくdouble型(or float型)
> ・double型の変数の中身をprintfで表示させるには%fを使う
> ・int型とint型の計算結果はint型になるので、平均計算の際は整数同士の計算にならないように気を付ける。
>
> この辺を踏まえて修正すると解けると思いますよ。
管理人さんへ
ありがとうございます。一度これで再提出をさせていただきます。
みなさんいろいろと丁寧に教えていただいてありがとうございます。
> もうちょっと早めに投稿されると色々アドバイスが受けられると思いますよ。
>
> ところで、提出後もまだ勉強されるでしょうか?
> 投稿されたコードは結構おしいところまで出来ていますね。
> 次のヒントを元にコードを改良してみて下さい。
>
> ・0未満が入力されたらループを抜ける事が出来るが、100超過だと現在はそのままになっている
> ・1回目に0~100以外が入力されたらnin=0になっており、「0で割る」というしてはいけないことをするコードになっている
> ・小数点が表せる実数はint型ではなくdouble型(or float型)
> ・double型の変数の中身をprintfで表示させるには%fを使う
> ・int型とint型の計算結果はint型になるので、平均計算の際は整数同士の計算にならないように気を付ける。
>
> この辺を踏まえて修正すると解けると思いますよ。
管理人さんへ
ありがとうございます。一度これで再提出をさせていただきます。
みなさんいろいろと丁寧に教えていただいてありがとうございます。