Download presentation
Presentation is loading. Please wait.
Published byさや たけくま Modified 約 8 年前
1
1 例題 ex3b ( 配列 ) 科学科プログラミング
2
2 例題 : ex3b 以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列
3
3 ステップ 1 :配列 配列の添え字は,0から始まる点に注意 int prime[1000]; は, prime[0] から prime[999] までの, 1000 個の int 型の値を 格納できる箱をメモリ上に用意する. prime [0] prime [1] prime [2] prime [3] prime [4] prime [5] prime [6] prime [7] prime [8] prime [9] prime [990] prime [991] prime [992] prime [993] prime [994] prime [995] prime [996] prime [997] prime [998] prime [999]
4
4 ステップ 1 :配列 配列の初期化について #define SCORES 5 : int score[SCORES] = { 77, 23, 94, 100, 66 }; この初期化で, score[0] = 77; score[1] = 23; score[2] = 94; score[3] = 100; score[4] = 66; という初期値が整数型配列 score にセットされる
5
5 ステップ 1 :配列 for と 配列の関係 #include #define MAX 100 int main(void){ int score[MAX]; /* 配列の宣言 */ int i, sum; /* 複数の変数の宣言 */ for(i=0;i<MAX;i++){ fgets(line, sizeof(line), stdin); sscanf("%d", &score[i] ); sum = sum + score[i]; } printf("sum = %\n", sum); }
6
6 ステップ 2 :最小と最大 for と 配列を使って最小値を求めるには? #define CLASSES 5 /* 5 科目 */ int score[CLASSES] = {92, 82, 73, 95, 79}; int i, minclass = 0; /* 科目 0 を最小と仮定 */ for (i=0; i<CLASSES; i++){ if (score[minclass] > score[i] ){ minclass = i; }
7
7 ステップ 2 :最小と最大 for と 配列を使って最大値を求めるには? #define CLASSES 5 int score[CLASSES] = {92, 82, 73, 95, 79}; int i, maxclass = 0; /* 科目 0 を最大と仮定 */ for (i=0; i<CLASSES; i++){ if (score[maxclass] < score[i] ){ maxclass = i; }
8
8 ステップ 3 :文字型の配列 文字列は,文字型の配列として扱う char line[100]; は, line[0] から line[99] までの, 100 個の char 型 ( 文字 ) の値を格納で きる箱をメモリ上に用意する. line [0] line [1] line [2] line [3] line [4] line [5] line [6] line [7] line [8] line [9] line [90] line [91] line [92] line [93] line [94] line [95] line [96] line [97] line [98] line [99]
9
9 ステップ 3 :文字型の配列 文字列は,文字型の配列で表す char line[100]; char string[1000]; 文字列の入力 fgets(line, sizeof(line), stdin); fgets(string, sizeof(string), stdin); 文字列の表示 printf( “ %s ”, line); printf( “ 入力された文字列は %s です ”, string);
10
10 ステップ 3 :文字型の配列 初期化では,文字列をそのまま利用可能 char line[100] = "This is a sample sentence. ” ; : printf("Your defined string is %s\n ”, line); 実行結果 You defined string is This is a sample sentence. 宣言時以外の場所での文字列の直接代入は出来ない × line = "This is wrong. ” ;
11
11 ステップ 3 :文字型の配列 fgets で文字列を取り込む場合,入力した文 字列の最後に改行が追加されるので注意 fgets(line, sizeof(line), stdin); line[0] ‘ H ’ line[1] ‘ e ’ line[2] ‘ l ’ line[3] ‘ l ’ line[4] ‘ o ’ line[5] ‘ ! ’ line[6] ‘ \n ’ line[7] ‘ \0 ’ line[8]line[9] line [90] line [91] line [92] line [93] line [94] line [95] line [96] line [97] line [98] line [99]
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.