zoukankan      html  css  js  c++  java
  • C语言----数组(基础篇八)

     最近出差回来了,继续把基础夯实。

     一维数组

        数组的作用:  

          如果你有一组类似的数据,一个个起名字麻烦也没意义,用个数组保存它们,用起来省事又方便。

        定义:

          类型名 数组名[常量表达式];

          如:

          int a[8];

          它定义了一个有8个元素的数组,下标从0-7

          初始化:int a[8]={0,1,2,3,4,5,6,7};

            8个元素分别初始化成0,1,2,3,4,5,6,7

          也可以:int a[8]={3};

           它只把a[0]初始化成3,后面的a[1]a[7]系统默认初始化为0


      程序1

        求任意5个数中的最大数

    // 8_1 求任意五个数中的最大数
    
    #include <stdio.h>
    
    int main()
    {
        int a[5], i, max; //定义含五个元素数组的整形数组,i 是下标,max 是最大数。
    
        //从键盘输入五个数
        for (i = 0;i<5;i++)
        {
            scanf_s("%d", &a[i]);
        }
    
        //找出最大的数
        max = a[0];
    
        for (i = 1;i<5;i++)
        {
            if (max < a[i])max = a[i];   //比max值大就赋值给 max
        }
        printf("%d
    ", max);
    }

        一般在数组前面有类型说明符的,如double a[5]就是“定义”数组。反之,前面没有类型说明符的,如n=a[5]a[5]=n就是使用数组

        定义数组时,方括号里只允许使用常量,不允许出现变量。如:

        int n=5;

        int a[n];

        这是非法的数组定义。

        数组在使用时就不允许使用 a[8]={0} 这样的方式来给数组赋值,只有使用循环来给数组元素一个一个地赋值。

         

        定义数组时,方括号中可以是空的,如:

          int a[]={1,2,3};

        这时电脑会自动计算出a数组有3个元素,会把这行代码翻译成int a[3]={1,2,3};再执行。

        

        这种数组一定要用花括号初始化,比如

        int a[];

        这是非法的定义。


        程序2

          将数组中的值按逆序重新存放。例如,原来顺序为5、8946,调整以后为64985

    //程序2
    //将数组中的值按逆序重新存放。例如,原来顺序为5、8、9、4、6,调整以后为6、4、9、8、5。
    
    #include <stdio.h>
    
    int main()
    {
        int a[5] = { 5,8,9,4,6 };
        int b,c;                          //交换用的临时变量
        for (int i=0;i<= 5/2;i++)         //数组执行两次互换
        {
            b = a[i];
            a[i] = a[5 - i - 1];
            a[5 - i - 1] = b;
        }
    
    
        for (int i = 0; i < 5; i++)      //遍历输出
        {
            printf("%d	", a[i]);
        }
        
    }

      程序3

      求某数列的前40个数:1,1,2,3,5,8,13,21…

    //8-3:求某数列的前40个数:1,1,2,3,5,8,13,21… 
    #include <stdio.h>
    main()
    {
        int i, a[40];            //循环变量,数组
        a[0] = a[1] = 1;            //前两项不需要计算,直接初始化为1
    
        for (i = 2; i < 40; i++)
        {
            a[i] = a[i - 2] + a[i - 1];
        }
            
    
        for (i = 0; i < 40; i++)
        {
            printf("%d	", a[i]);
        }
            
    }
  • 相关阅读:
    @@IDENTITY 存储过程
    ASP.NET的Cookie和Session
    数据格式设置表达式
    DataTable类(MSDN)
    用静态变量代替appliction
    C cgi url 编码解码问题
    C#视频头操作
    c#网页抓取
    c语言字符串分隔
    CGI c 上传文件
  • 原文地址:https://www.cnblogs.com/httpcc/p/15187695.html
Copyright © 2011-2022 走看看