これは私のCのプログラミングの最初の割り当てです。乱数の実装方法は非常に混乱しています。私のプログラムでは、すでにstruct studentを作成しており、そのうち10人の学生が配列を作成しました。今私はランダムなID番号を生成し、それらの10人の学生のためのテストのスコアをしなければならないが、私の先生は正確にそれを行う方法を決して決してなかった。私は変数や関数の宣言を変更することも許されていません。ここに私のコードは、これまでです:ランダムなIDを生成する方法と10人の学生の構造体のテストのスコア
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct student {
int id;
int score;
};
struct student *allocate() {
return calloc(sizeof(struct student), 10);
}
void generate(struct student* students){
/*
*Generate random ID and scores for 10 students, ID being between 0 and
* scores equal to (id* 10 % 50)
*/
}
int main() {
struct student *stud = allocate();
generate(stud);
return 0;
}
彼はまた、この命令を与える: は、「IDを移入機能void generate(struct student* students)
を書くと、引数として渡された10人の列のフィールドをスコア各学生は、IDを持っている必要があります。 (つまり配列の最初の生徒はid 0でなければなりません)各生徒のIDがxの場合、生徒の得点は(10 * x) % 50
になります。
ここで、命令に「ランダム」と表示されていますか?いいえ。 「配列のインデックスに対応するID」はランダムではなく、「スコアは(10 * x)%50」である必要もありません。 – kaylum
命令で「乱数」とは言わない。具体的には、数値は配列のインデックスに基づいていると言います。 –
これは私が混乱していた場所です。スケルトンのコメントでは、学生にランダムに言いましたが、実際の手順ではそうではありません。 – McGradyMan