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\n", 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\t", 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\t", a[i]);
    }
        
}

 

C语言----数组(基础篇八)

上一篇:VBA制作jeecgboot代码生成器


下一篇:python-typing&type hint