要素の変更
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 55/63。
C言語では、初期化された後に配列の要素を変更することができます。
5つの要素を持つ整数型の配列を作成します:
int numbers[5] = {10, 20, 30, 40, 50};要素を変更するには、配列名に続けて角括弧の中にインデックスを指定します:
// 3番目の要素(インデックス2)を35に変更します
numbers[2] = 35;上記のコードを実行すると、配列の内容は次のようになります:
[10, 20, 35, 40, 50]
変数もインデックスとして使用できます:
int index = 4;
numbers[index] = 55; // 5番目の要素(インデックス4)を55に変更します現在、配列には以下が含まれています:
[10, 20, 35, 40, 55]
チャレンジ
簡単updateScoreという名前の関数を作成してください。この関数は以下の引数を受け取ります:
- 5人のプレイヤーのスコアを表す整数配列
- プレイヤー番号(1から5)
- 新しいスコアの値
この関数は、指定されたプレイヤーのスコアを更新し、すべてのスコアを次の形式で出力する必要があります:"Scores: [score1, score2, score3, score4, score5]"
C言語の配列は0から始まるインデックス(0-indexed)であるため、プレイヤー1はインデックス0に対応することに注意してください。
チートシート
C言語で配列の要素を変更するには、配列名に角括弧で囲んだインデックスを使用します:
int numbers[5] = {10, 20, 30, 40, 50};
numbers[2] = 35; // 3番目の要素(インデックス2)を35に変更します変数をインデックスとして使用することもできます:
int index = 4;
numbers[index] = 55; // 5番目の要素(インデックス4)を55に変更します自分で試してみよう
#include <stdio.h>
void updateScore(int scores[], int playerNumber, int newScore) {
// ここにコードを記述してください
}
int main() {
int scores[5];
// 現在のスコアを読み込む
for (int i = 0; i < 5; i++) {
scanf("%d", &scores[i]);
}
// プレイヤー番号と新しいスコアを読み込む
int playerNumber, newScore;
scanf("%d %d", &playerNumber, &newScore);
// updateScore関数を呼び出す
updateScore(scores, playerNumber, newScore);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。