数组基础

//

//  main.c

//  数组基础

//

//  Created by zhangxueming on 15/6/1.

//  Copyright (c) 2015年 zhangxueming. All rights reserved.

//



#include <stdio.h>

//数组:一段命名的连续的内存空间

//int a[80];

//数据类型 + 数组名[数组长度];//数组长度是一个常量表达式

//数据类型:数组元素的数据类型,决定每个元素占用内存空间大小

//数组名:地址常量

//数组长度: 数组中元素的个数

//内存大小 = sizeof(a[0]) * length;

//数组下标

//从0开始到n-1 a[0] ~~a[79]



//int main(int argc, const char * argv[]) {

//    int a[10]={};

//    printf("%p\n",a);

//    a[0]=12;

//    printf("a[0]=%d\n", a[0]);

//    printf("size = %ld\n", sizeof(a));

//    

//    for(int i=0; i<10; i++)

//    {

//        printf("%p\n", &a[i]);

//    }

//    return 0;

//}





//数组的遍历



//int main(int argc, const char *argv[])

//{

//    int a[5]={};

//    for (int i=0; i<5; i++) {

//        scanf("%d", &a[i]);

//    }

//    

//    for (int i=0; i<5; i++) {

//        printf("%d ", a[i]);

//    }

//    printf("\n");

//    return 0;

//}



//int main(int argc,const char *argv[])

//{

//    int a[5]={};

//    for (int i=0; i<5; i++) {

//        scanf("%d", &a[i]);

//    }

//    

//    for (int i=4; i>=0; i--) {

//        printf("%d ", a[i]);

//    }

//    

//    printf("\n");

//    return 0;

//}



//求学生的平均成绩



//int main(int argc,const char *argv[])

//{

//    int a[10]={};

//    float sum =0;

//    for (int i=0; i<10; i++) {

//        scanf("%d", &a[i]);

//        sum+=a[i];

//    }

//    printf("%.2f\n", sum/10);

//    

//    return 0;

//}



//内存不能越界访问

//int main(int argc, const char *argv[])

//{

//    int a[10]={};

//    for(int i=0; i<10; i++)

//    {

//        scanf("%d", &a[i]);

//    }

//    

//    for (int i=0; i<10; i++) {

//        printf("a[%d]=%d\n", i, a[i]);

//    }

//    printf("\n");

//    return 0;

//}



//数组的初始化



//完全初始化化

//int main(int argc,const char *argv[])

//{

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

//    for (int i=0; i<5; i++) {

//        printf("a[%d]=%d\n", i, a[i]);

//    }

//    return 0;

//}



//部分初始化

//int main(int argc,const char *argv[])

//{

//    int a[5]={1,2};

//    for (int i=0; i<5; i++) {

//        printf("%d ", a[i]);

//    }

//    printf("\n");

//    return 0;

//}



//定义了数组之后, 数组中的初值是未定义的,所以为了防止影响后续的操作, 通常需要初始化

//数组初始化为0;

//int main(int argc,const char *argv[])

//{

//    //int a[10]={0};

//    int a[10]={};

//    for (int i=0; i<10; i++) {

//        printf("%d ", a[i]);

//    }

//    printf("\n");

//    return 0;

//}



//输出斐波那契数列的前20项

// 1 1 2 3 5 8 13 21 34 55 89 ....

// a[n]=a[n-1]+a[n-2]



//int main(int argc, const char *argv[])

//{

//    int a[20]={1,1};

//    for (int i=2; i<20; i++) {

//        a[i]=a[i-1]+a[i-2];

//    }

//    for (int i=0; i<20; i++) {

//        printf("a[%d]= %d\n", i, a[i]);

//    }

//    return 0;

//}



//选择初始化

//C99标准

//int main(int argc, const char *argv[])

//{

//    int a[10]={1,2,[5]=10,11,12};

//    for (int i=0; i<10; i++) {

//        printf("%d ", a[i]);

//    }

//    printf("\n");

//    return 0;

//}



//数组的操作

//输入10个数据, 查找该数据中的最大数,并将其输出到屏幕上

//1 3 5 7 4 2 0

//int max = a[0] =1;

//max<a[i]  = 7

//max = a[i]

//

//int main(int argc,const char *argv[])

//{

//    int a[10];

//    int max;

//    for (int i=0; i<10; i++) {

//        scanf("%d", &a[i]);

//    }

//    max = a[0];

//    for (int i=1; i<10; i++) {

//        if (max<a[i]) {

//            max = a[i];

//        }

//    }

//    printf("max = %d\n", max);

//    

//    return 0;

//}



//插入一个数到排序好的数组中

//1 3 5 7 8 9    a[i+1] =a[i];

//0

//1 3 4 5 7 8 9



//4

//1 3 5 5 7 8 9



//int main(int argc, const char *argv[])

//{

//    int a[7];

//    int num;

//    for (int i=0; i<6; i++) {

//        scanf("%d", &a[i]);

//    }

//    scanf("%d", &num);

//    int i;

//    //移位

//    for (i=5; i>=0; i--) {

//        if (num<a[i]) {

//            a[i+1]=a[i];

//        }

//        else{

//            break;

//        }

//    }

//    //插入值

//    a[i+1]=num;

//    

//    for (int i = 0; i<7; i++) {

//        printf("%d ", a[i]);

//    }

//    printf("\n");

//    return 0;

//}



//查找某个数值(返回第一次出现位置)



int main(int argc,const char *argv[])

{

    int a[5]={};

    for (int i=0; i<5; i++) {

        scanf("%d", &a[i]);

    }

    int num ;

    scanf("%d", &num);

    

    for (int i=0; i<5; i++) {

        if (num==a[i]) {

            printf("index = %d\n", i);

            break;

        }

    }

    return 0;

}

 

你可能感兴趣的:(数组)