int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的
array[0] = 20; array[1] = 30; array[9] = 80;
//array[10] = 100;//错误,没有 array[10]这个元素 |
数组在内存中就是一段连续的空间,每个元素的类型是一样的
int array[10] = { 100, 1, 5, 3, 4, 5, 6, 7, 8, 0 };//定义数组的同时为数组的成员初始化值 |
int array[10] = { 3, 7, 9 };//将数组的前三个元素赋值,其余元素置为0 |
int array[10] = { 0 };//将数组所有的元素都置为0 |
int i; for (i = 0; i < 10; i++) { array[i] = 0;//通过循环遍历数组的每个元素,将元素的值置为0 } |
int array[2][3];//定义了一个二维数组,有两个array[3] |
int a[3][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; |
|
#include <stdio.h> #pragma warning(disable:4996) int main01() { short array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = 20; array[1] = 30; array[9] = 80; //array[10] = 100;//错误,没有 array[10]这个元素 printf("%d\n", array[1]); int i; for (i = 0; i < 10; i++) { array[i] = i;//array[0] = 0;, array[1] = 1, array[9] = 9; } printf("%p\n", array); return 0; } int main02()//数组初始化 { //int array[10] = { 100, 1, 5, 3, 4, 5, 6, 7, 8, 0 };//定义数组的同时为数组的成员初始化值 //int array[10] = { 3, 7, 9 };//将数组的前三个元素赋值,其余元素置为0 int array[10] = { 0 };//将数组所有的元素都置为0 //printf("%p\n", array); int i; for (i = 0; i < 10; i++) { scanf("%d", &array[i]);// = 0;//通过循环遍历数组的每个元素,将元素的值置为0 } for (i = 0; i < 10; i++) { printf("array[%d] = %d\n", i, array[i]); } return 0; } int main03()//求数组中最大元素的值,和最大值对应的数组下标 { int array[10] = { 32, 45, 643, 12, 56, 2000, 78, 22, 69, 10 }; int max = array[0]; int i; for (i = 1; i < 10; i++)//想找最大的值,一定要把数组先遍历一遍 { if (max < array[i]) max = array[i]; } printf("max = %d\n", max); return 0; } int main04()//求数组中最小元素的值,和最小值对应的数组下标 { int array[10] = { 32, 45, 643, 12, -56, 2000, 78, 22, 69, 10 }; int min = array[0]; int index = 0;//在没有遍历数组之前,默认数组的第0号元素就是最小的元素 int i; for (i = 1; i < 10; i++)//想找最小的值,一定要把数组先遍历一遍 { if (min > array[i]) { index = i; min = array[i]; } } printf("min = %d, index = %d\n", min, index); return 0; } int main05()//求数组中所有元素的和 { int array[10] = { 31, 5, 43, 12, 6, 2, 8, 21, 3, 10 }; int i; int sum = 0;//存放数组和的变量 for (i = 0; i < 10; i++) { sum += array[i]; } printf("sum = %d\n", sum); return 0; } int main06()//求数组中大于平均数的元素和下标 { int array[10] = { 31, 5, 43, 12, 6, 2, 8, 21, 3, 10 }; int i; int sum = 0;//存放数组和的变量 for (i = 0; i < 10; i++) { sum += array[i]; } int avg = sum / 10; printf("avg = %d\n", avg); for (i = 0; i < 10; i++) { if (array[i] > avg) { printf("%d, %d\n", array[i], i); } } return 0; } int main()//将数组元素逆置, { int array[10] = { 31, 5, 43, 12, 6, 2, 8, 21, 3, 10 }; // //int tmp = array[1];//中间变量实现两个值的互换 //array[1] = array[0]; //array[0] = tmp; int min = 0;//数组最小下标 int max = 9;//数组的最大下标 while (min < max)//两头往中间堵 { int tmp = array[min]; array[min] = array[max]; array[max] = tmp; min++; max--; } int i; //for (i = 0; i <= 4; i++)//从头往中间走 //{ // int tmp = array[i]; // array[i] = array[9 - i]; // array[9 - i] = tmp; //} for (i = 0; i < 10; i++) { printf("array[%d] = %d\n", i, array[i]); } return 0; }
资料来源:传智播客 仅供学习研究
原文:http://www.cnblogs.com/wuchuanying/p/6347837.html