C语言中数组的初始化、最值和排序

数组的初始化

一维数组:

  1. int i[5] = {1,2,3,4,5}; //指定长度并对数组的所有元素赋值
  2. int i[5] = {1,2,3}; //指定长度并对数组的部分元素赋值
  3. int i[] = {1,2,3,4,5}; // 不指定长度直接对数组的所有元素赋值

二维数组:

  1. int a[2][3] = {{1,2,3},{4,5,6}}; //按行给二维数组赋值
  2. int a[2][3] = {1,2,3,4,5,6}; //将所有数组元素按顺序写到一个大括号里
  3. int a[2][3] = {{1},{2,3}}; // 对数组中的部分元素进行赋值,对于没赋值的元素系统自动赋值为0
  4. int a[][3] = {1,2,3,4,5,6}; //如果对全部数组元素赋值,则数组第一个下标可以省略但第二个不能省略。此时等同于int a[2][3]

数组的最值

方法一:

int max1(int num[]){
    int max = 0; //假设第一个元素为最大值
    for (int i = 1; i < 5; i++){
        if (num[i] > num[max])
        {
            max = i;
        }
    }
    return num[max];
}

方法二:

int max2(int num[]){
    int max = num[0]; //假设第一个元素为最大值
    for (int i = 1; i < 5; i++){
        if (num[i] > max)
        {
            max = num[i];
        }
    }
    return max;
}

冒泡排序

void main()
{
    int x[5] = { 7, 9, 3, 5, 2 };
    int temp = 0;
    for (int m = 0; m < 5 - 1; m++)
    {
        for (int n = 0; n < 5 - 1 - m; n++)
        {
            if (x[n] > x[n + 1])  //从小到大排序
            //if (x[n] < x[n + 1])  //从大到小排序
            {
                temp = x[n];
                x[n] = x[n + 1];
                x[n + 1] = temp;
            }
        }
    }
    printf("冒泡排序后:\n");
    for (int i = 0; i < 5; i++)
    {
        printf("%d  ", x[i]);
    }
    printf("\n");
    getchar();
}

你可能感兴趣的:(C语言中数组的初始化、最值和排序)