数组基础

//
//  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;
}

 

posted @ 2015-06-01 13:24  sirzhang  阅读(229)  评论(0编辑  收藏  举报
AmazingCounters.com