• # C语言假期学习笔记——6


    C语言假期学习笔记——6

    数组

    • 主要学习了一位数组和二维数组。
    • 数组是一组具有相同类型的变量的集合。C语言程序通过元素的下标来访问数组中的元素。(下标从0开始)
    一位数组
    • 类型 数组名[元素个数]

    二维数组

    • 类型 数组名[第一维长度][第二维长度]
    • 第一维长度在某些时刻可以省略(当形参被声明为二维数组时),第二维长度永远不可以省略
    • 存储的元素总量=第一维长度*第二维长度

    向函数传递数组

    • 先对数组的容量进行限制例如下面限定数组最多存储40个元素。
    #define N 40
    
    void PassArray(int arr[])
    {
        int i=-1;
        do
        {
            i++;
            scanf("%d",&arr[i]);
        }while(条件);
    }
    void PassArray(int arr[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            scanf("%d",&arr[i]);
        }
    }
    int PassArray(int arr[])
    {
        int i=-1;
        do
        {
            i++;
            scanf("%d",&arr[i]);
        }while(条件);
        return i;
    }
    

    在数组内进行查找

    int FindArr(int arr[],int n,int score)
    {
        int i;
        for(i=0;i<n;i++)
        {
            if(score==arr[i]) 
            {
                return i;
                break;
            }
        }
        return -1;
    }
    
    • 折半查找
        int binary_research(int arr[],int left,int right,int element)  
        {  
            while(left<=right)  
            {     
                int mid = (left+right)/2;  
                if(arr[mid]>element)  
                {  
                    right = mid - 1;  
                }  
                else if(arr[mid]<element)  
                {  
                    left = mid + 1;  
                }  
                else   
                {  
                    return mid;  
                }  
            }  
            return -1;  
        }  
    

    排序

    • 主要是冒泡排序;
     int i,j;  
        for(j=0;j<COUNT-1;j++){  
            for(i=0;i<COUNT-1-j;i++){  
      
                    if (arr[i]>arr[i+1]){  
                        int tmp=arr[i]; arr[i]=arr[i+1];arr[i+1]=tmp;  
                    }  
      
            }  
            for(i=0;i<COUNT;i++){  
                printf("%d,",arr[i]);  
      
      
            }  
    

    易错点

    -在这章的代码编写中总是有一些小问题出现

    1. 调用函数时max=FindMax(score[],n);编译错误
    2. max=FindMax(int score[],int n);编译错误;
    3. int ReadScore(int score[][],int num[]);编译错误。省略了长度声明
  • 相关阅读:
    RabbitMQ之Exchange(五)
    java classpath详解
    RabbitMQ之软件安装(一)
    RabbitMQ之概念介绍(二)
    RabbitMQ实战之Hello World(三)
    logback 控制台 自定义颜色
    hashmap
    linux学习记录 常用指令大全
    72.40个Android面试题(转载)
    break 的一个“高级用法”(转)
  • 原文地址:https://www.cnblogs.com/hpl20155329/p/7251500.html
Copyright © 2020-2023  润新知