初めまして、プログラミング初心者です。
C言語で変数、配列の課題がどうしてもわからないので質問させていただきます。
5人の生徒がテストを受けた。点数の集計をするプログラムを作成せよ。
条件
・番号(1~5)と点数(0~10)を入力すると番号と点数を表として表示する
・番号に0を入力すると点数の入力は終了する
OSはwindows、コンパイラはBorand C++です。
まだ本当に始めたばかりでC言語の知識は皆無に等しいです…。よろしくお願いします。
変数、配列の課題
Re:変数、配列の課題
質問に答えるために幾つかお願いがあります。スムーズに回答するために必要な事柄ですのでぜひお願いします。
・自分が習っている言語の規格(CにもC89やC99など幾つか規格があります)を分かりましたら教えて下さい。
・自分はどこまで理解しているのか、学校ではどこまで習ったのか明確にして下さい。特に使って良い関数の制限などが分かると答えやすいです。無制限なら無制限と書いて下さいね。
・自分で書いたソースプログラムがあるなら提示をお願いします。
・ソースが有る場合は、自分が書いたソースプログラムはどこからどこまでなのか教えて下さい。
詳しくはこの掲示板の使い方をご覧ください→ http://dixq.net/board/board.html
基本的にお手伝いをするスタンスですので、直接的な答えはなるべく書かないと思います。
・自分が習っている言語の規格(CにもC89やC99など幾つか規格があります)を分かりましたら教えて下さい。
・自分はどこまで理解しているのか、学校ではどこまで習ったのか明確にして下さい。特に使って良い関数の制限などが分かると答えやすいです。無制限なら無制限と書いて下さいね。
・自分で書いたソースプログラムがあるなら提示をお願いします。
・ソースが有る場合は、自分が書いたソースプログラムはどこからどこまでなのか教えて下さい。
詳しくはこの掲示板の使い方をご覧ください→ http://dixq.net/board/board.html
基本的にお手伝いをするスタンスですので、直接的な答えはなるべく書かないと思います。
Re:変数、配列の課題
>softyaさん
ご指摘ありがとうございます。
・言語の規格についてはわかりません。
・授業で基礎の基礎的なことを受けましたが、内容を完全には理解していません。
・関数はmain関数を使っていますが、制約は特に無いと思います。
・途中まで書いたプログラムがこちらです。
#include<stdio.h>
int main(void)
{
int a;
int i[3];
i[0] = 10;
i[1] = 20;
i[2] = 30;
>たかぎさん
期限が迫っていますのでやむを得なく質問させていただきました。
少しでもC言語を理解できるよう、努力いたします。
ご指摘ありがとうございます。
・言語の規格についてはわかりません。
・授業で基礎の基礎的なことを受けましたが、内容を完全には理解していません。
・関数はmain関数を使っていますが、制約は特に無いと思います。
・途中まで書いたプログラムがこちらです。
#include<stdio.h>
int main(void)
{
int a;
int i[3];
i[0] = 10;
i[1] = 20;
i[2] = 30;
>たかぎさん
期限が迫っていますのでやむを得なく質問させていただきました。
少しでもC言語を理解できるよう、努力いたします。
Re:変数、配列の課題
そのソースは内部で数値を決めて代入しています。
5人なのに配列が3つまでしかないのはおかしいですね。
まず、一人分だけの処理を作ってみましょう。
キーボードから入力してその値を変数に代入すればできます。
scanfについて調べてみてください。
5人なのに配列が3つまでしかないのはおかしいですね。
まず、一人分だけの処理を作ってみましょう。
キーボードから入力してその値を変数に代入すればできます。
scanfについて調べてみてください。
Re:変数、配列の課題
> 期限が迫っていますのでやむを得なく質問させていただきました。
> 少しでもC言語を理解できるよう、努力いたします。
義務教育が終了しているならば、真面目にやれば半日~2日くらいで
課題が解ける程度のC言語が身に付くと思いますよ。
努力してください。
> 少しでもC言語を理解できるよう、努力いたします。
義務教育が終了しているならば、真面目にやれば半日~2日くらいで
課題が解ける程度のC言語が身に付くと思いますよ。
努力してください。
Re:変数、配列の課題
一応書いておきますが、このまま写して提出しても確実にバレます。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int table[5] = { 0 };
size_t i;
for (;;)
{
char s_number[1+1], s_score[2+1];
int number, score;
puts("番号(1~5)と点数(0~10)を入力してください。");
if (scanf(" %1[0-5]", s_number) < 1)
continue;
number = s_number[0] - '0';
if (number == 0)
break;
if (scanf(" %2[0-9]", s_score) < 1)
continue;
score = atoi(s_score);
if (score > 10)
continue;
table[number - 1] = score;
}
puts("番号 点数");
for (i = 0; i < sizeof table / sizeof table[0]; i++)
printf("%4d %4d\n", (int)(i + 1), table);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int table[5] = { 0 };
size_t i;
for (;;)
{
char s_number[1+1], s_score[2+1];
int number, score;
puts("番号(1~5)と点数(0~10)を入力してください。");
if (scanf(" %1[0-5]", s_number) < 1)
continue;
number = s_number[0] - '0';
if (number == 0)
break;
if (scanf(" %2[0-9]", s_score) < 1)
continue;
score = atoi(s_score);
if (score > 10)
continue;
table[number - 1] = score;
}
puts("番号 点数");
for (i = 0; i < sizeof table / sizeof table[0]; i++)
printf("%4d %4d\n", (int)(i + 1), table);
return 0;
}
Re:変数、配列の課題
しばらく返信ができずすみませんでした。
課題の方は無事完成して提出することができました。
たかぎさん>
プログラムまで書いてくださって、わざわざありがとうございます。
まだ解らない関数がいくつかありますが、このような例もあるということで、今後の参考にさせていただきますね。
レスしてくださった皆さん、本当にありがとうございました!
これから頑張っていろいろ覚えていきたいと思います。
失礼いたしました。
課題の方は無事完成して提出することができました。
たかぎさん>
プログラムまで書いてくださって、わざわざありがとうございます。
まだ解らない関数がいくつかありますが、このような例もあるということで、今後の参考にさせていただきますね。
レスしてくださった皆さん、本当にありがとうございました!
これから頑張っていろいろ覚えていきたいと思います。
失礼いたしました。