阵列是一群具有相同的资料型态元素集合的资料型态。在记忆体中,一个阵列会使用一段连续的记忆体空间来存放。
阵列的变数定义:
元素资料型态 阵列变数名称 [元素个数] ; int var[3];
初始化时最少需要指定一个值,而未指定值的元素会被自动指定为0
int counter[6] = {0};
在初始化时,阵列元素个数值可以省略,会以初始化元素个数取代。
int counter[] = {0, 0, 0, 0, 0, 0};
骰子点数出现的次数的统计(未使用阵列)
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(0)); int counter1 = 0, counter2 = 0, counter3 = 0; int counter4 = 0, counter5 = 0, counter6 = 0; int i; for (i = 1; i <= 6000; ++i) { int dice = rand() % 6 + 1; switch (dice) { case 1: counter1++; break; case 2: counter2++; break; case 3: counter3++; break; case 4: counter4++; break; case 5: counter5++; break; case 6: counter6++; break; } } printf("1: %d\n", counter1); printf("2: %d\n", counter1); printf("3: %d\n", counter1); printf("4: %d\n", counter1); printf("5: %d\n", counter1); printf("6: %d\n", counter1); return 0; }
使用阵列
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(0)); int counter[6] = {0}; //初始化 int i; for (i = 1; i <= 6000; ++i) { int dice = rand() % 6 + 1; switch (dice) { case 1: counter[0]++; break; case 2: counter[1]++; break; case 3: counter[2]++; break; case 4: counter[3]++; break; case 5: counter[4]++; break; case 6: counter[5]++; break; } } printf("1: %d\n", counter[0]); printf("2: %d\n", counter[1]); printf("3: %d\n", counter[2]); printf("4: %d\n", counter[3]); printf("5: %d\n", counter[4]); printf("6: %d\n", counter[5]); return 0; } 1: 982 2: 1014 3: 992 4: 1032 5: 1039 6: 941 Process returned 0 (0x0) execution time : 13.322 s Press any key to continue.
原文:https://www.cnblogs.com/pxxfxxxx/p/10795293.html