#このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。 2 次元配列定義の一般的な形式は次のとおりです。メモリ内の 2 次元配列の格納順序は行ごとです。つまり、1 行が配置された後、2 行目が配置されます。つまり、「a[0]」行は最初に保存され、次に "a[1" ]" 行が保存され、次に "a[2]" 行が保存されるというように、すべての要素が配置されるまで続きます。各行の要素も順番に保存されます。
dataType arrayName[length1][length2];
2 次元配列は、行と列を含む Excel テーブルと考えることができます。length1 は行数を表し、length2 は列数を表します。要素を 2 つの配列で見つけるには、次元配列の場合は、行と列の両方を指定する必要があります。 例:
int a[3][4];
a[0][0], a[0][1], a[0][2], a[0][3] a[1][0], a[1][1], a[1][2], a[1][3] a[2][0], a[2][1], a[2][2], a[2][3]
C 言語では、2 次元配列が行に配置されます。
つまり、最初に a[0] 行が保存され、次に a[1] 行が保存され、最後に a[2] 行が保存され、各行の 4 つの要素も順番に保存されます。配列 a は int 型で、各要素は 4 バイトを占め、配列全体は合計 4×(3×4)=48 バイトを占めます。例:
勉強グループに 5 人がいて、各人が 3 つのコースのテストのスコアを持っている場合、各科目の平均スコアと全体のスコアを求めます。グループの平均点。#--数学
英語 | ##張濤 | 80 | 75 |
王正华 | 61 | 65 | |
李丽 | 59 | 63 | |
# 趙泉泉 | 85 | 87 | |
#周孟鎮 | 76 | 77 | |
この質問では、2 次元配列 a[5][3] を定義して、3 つのコースの 5 人のスコアを保存できます。 1 次元配列 v[3] を定義して各被験者の平均スコアを格納し、次に変数 Average を定義して合計平均スコアを格納します。最終的なプログラミングは次のとおりです: | #include <stdio.h> int main(){ int i, j; //二维数组下标 int sum = 0; //当前科目的总成绩 int average; //总平均分 int v[3]; //各科平均分 int a[5][3]; //用来保存每个同学各科成绩的二维数组 printf("Input score:\n"); for(i=0; i<3; i++){ for(j=0; j<5; j++){ scanf("%d", &a[j][i]); //输入每个同学的各科成绩 sum += a[j][i]; //计算当前科目的总成绩 } v[i]=sum/5; // 当前科目的平均分 sum=0; } average = (v[0] + v[1] + v[2]) / 3; printf("Math: %d\nC Languag: %d\nEnglish: %d\n", v[0], v[1], v[2]); printf("Total: %d\n", average); return 0; } ログイン後にコピー | 実行結果: Input score: 80 61 59 85 76 75 65 63 87 77 92 71 70 90 85↙ Math: 72 C Languag: 73 English: 81 Total: 75 ログイン後にコピー 」 以上がC言語で二次元配列をメモリに格納する順序は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。 このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
正規表現を使用した HTML での単語カウント
これもこれと同じ問題です。しかし、私はJavaScriptを使用していないので、「innerText」は私にとって解決策ではなく、正規表現が一連の処理を行わずに/(<.*?&...
から 2024-04-01 22:44:06
0
1
416
関連トピック
詳細>
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
|