zoukankan      html  css  js  c++  java
  • 数组基础

    //
    //  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
    ",a);
    //    a[0]=12;
    //    printf("a[0]=%d
    ", a[0]);
    //    printf("size = %ld
    ", sizeof(a));
    //    
    //    for(int i=0; i<10; i++)
    //    {
    //        printf("%p
    ", &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("
    ");
    //    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("
    ");
    //    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
    ", 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
    ", i, a[i]);
    //    }
    //    printf("
    ");
    //    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
    ", 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("
    ");
    //    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("
    ");
    //    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
    ", 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("
    ");
    //    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
    ", 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("
    ");
    //    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
    ", i);
                break;
            }
        }
        return 0;
    }
  • 相关阅读:
    COGS 577 蝗灾 线段树+CDQ分治
    BZOJ 1305 二分+网络流
    BZOJ 1066 Dinic
    BZOJ 3544 treap (set)
    BZOJ 3940 AC自动机
    BZOJ 1503 treap
    BZOJ 3172 AC自动机
    BZOJ 2553 AC自动机+矩阵快速幂 (神题)
    BZOJ1901 ZOJ2112 线段树+treap (线段树套线段树)
    BZOJ 3196 线段树套平衡树
  • 原文地址:https://www.cnblogs.com/0515offer/p/4543728.html
Copyright © 2011-2022 走看看