C语言的数组的应用0803

来源:互联网 发布:黑客编程入门3 编辑:程序博客网 时间:2024/06/05 23:47

一维数组

==

定义数组的格式为: 类型说明符 数组名[常量表达式];
其中,类型说明符是定义数组的中各元素的数据类型,数组名指的是数组的名字,常量表达式是说明数组的长度,指数组的个数

/*const  int a = 10;*/    //数组的定义,数字代表长度    /*int _arr[10];*//* = {1,2,3,4,5,6,7,8,9,10};*/    //printf("%d",sizeof(_arr)/sizeof(int));//这样可以打印数组的长度    /*printf("%x", &_arr);    printf("%d",&a);*/    //**初始化赋值操作**array[0]=1;这样可以给数组中的元素赋值    /*_arr[0] = 200;*/    /*for (int  i = 0; i < 10; i++)    {        _arr[i] = i;        printf("%d",i);    }*/

1值得注意的是数组的下标是总0开始的,a[0]表示的是第一位元素,
2,定义是不能超过数组的长度。
3.数组的应用,冒泡排序法

define 与const之间的区别`

两者的相同点都是给常量赋值,在程序中常量不能被改变
1.两者的位置是不同的,define是放在头文件那,coust是放在函数里面的。
2define定义的常量在内存中是没有地址的,属于纯粹的替换,
const 在函数里面有定义,还有赋值操作,所以在内存中是有地址的。

冒泡排序法

#include<stdio.h>void main(){    int a[5] = { 5, 3, 7, 9, 5 };    for (int i = 0; i < 5; i++){        for (int j = 1; j < 5; j++){            if (a[j] <a[ j - 1]){                a[j] = a[j] + a[j - 1];                a[j - 1] = a[j] - a[j - 1];                a[j] = a[j] - a[j - 1];            }            }    }for (int j = 0; j < 5; j++){        printf("%d", a[j]);    }getchar();}

注意:上次也写过冒泡排序法,但是这次跟上次的不同,又遇到了新的问题,冒泡排序的将数组中的数据重新排序下,需要我们用循环在重新打印出来,不能偷懒直接打印。这说明js中与c语言还是有很大的区别。

查找数字判断是不是在里面

#include<stdio.h>void main(){    //用函数实现输入五个数,再输入一个数,看是不是里面的数,如果是返回一,不是返回零;    printf("请依次输入五个数");    int a[5];    int x,i;    for (i = 0; i < 5; i++){        scanf_s("%d", &x);        getchar();        a[i] = x;    }    printf("请输入你查找的数");    scanf_s("%d", &x);    printf("%d", get(x, a));    getchar();}int get(int x, int a[]){    for (int j = 0; j < 5; j++){        if (x == a[j]){            return  1;        }    }    return 0;}
0 0