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();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,572评论 2 13
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 11,543评论 1 42
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,827评论 3 44
  • 秋日日短夜寒冷,使梦里多出一碗热汤面。沈宏非先生走南尝北,才难得有一碗“最难将息”面。我今天却来讴歌这热汤面...
    11ee39aa77d1阅读 3,325评论 2 12
  • 第一部分〈 14:00~14:50〉 @作文(50') 小作文(part a):100 words/15 min ...
    轩辕夜阅读 1,643评论 0 0

友情链接更多精彩内容