zoukankan      html  css  js  c++  java
  • C++学习(十六)(C语言部分)之 数组三

    复习 以及 测试

      1 /*
      2 一维数组
      3      数组是相同的数据的一个集合
      4      <类型><数组名>[下标表达式]={数组元素 初始值};
      5      数组名和变量的命名规则是一样的
      6      数组名是一个地址
      7      数组下标都是从0开始
      8 
      9 字符串
     10      字符串数组后面会有
     11      ""字符串  ''字符
     12      是不会输出的 只要空间够 他就会自己加上
     13      字符数组是不会自己添加  需要手动添加
     14 
     15 二维数组
     16      在一位数组的基础上 加一个下标的维度
     17      可以理解为数组的数组
     18 
     19 
     20 
     21 */
     22 
     23 
     24 #include<stdio.h>
     25 #include<stdlib.h>
     26 #include<time.h>
     27 int main()
     28 {
     29     //第一种表示方法
     30     //int a, b, c, d, e, f, g;
     31     //a = 1;
     32     //b = 2;
     33     //c = 3;
     34     //d = 4;
     35     //e = 5;
     36     //f = 6;
     37     //g = 7;
     38     
     39     //第二种表示方法
     40     //int Arr[7] = {1,2,3,4,5,6,7};
     41     //printf("%d
    ",Arr[3]);//0~6  Arr[3] 会打印4 数组名是地址
     42     //printf("%d
    ",sizeof( Arr));
     43     //printf("%d
    ", sizeof(Arr[0]));
     44     
     45     //栗子
     46     //int a[7] = { 1 };//是给数组的第一个元素进行初始化为1  其他的元素默认为0
     47     //printf("%d
    ",a[2]);
     48     //0 1 2 3 4 5 6 数组元素下标与初始化的对应
     49     //1 0 0 0 0 0 0
     50 
     51     //栗子
     52     //char Name[20] = "胖七";//字符串数组
     53     //char Str1[5] = { 'H', 'E', 'L', 'L', 'O' };//后面没有 数组大小是5 里面的元素刚好也是5个 的位置没有了 所以会出现乱码
     54     //char Str[20] = { 'H', 'E', 'L', 'L', 'O' };//后面有
     55  //   printf("名字:%s
    ",Name);
     56     //printf("Str:%s
    ",Str1);
     57     //printf("Str:%s
    ", Str);
     58 
     59     //栗子
     60     //char str[] = "hello";
     61     //char str1[20] = { 1, 2, 3, 4, 5, 6 };
     62     //char str2[] = {'n','i','h','a'};
     63     //char str3[] = {"niha"};
     64     //printf("%d
    ",sizeof(str));  //结果为6   原因是 定义数组是没有给大小 是根据数组元素个数来计算大小的
     65     //printf("%d
    ", sizeof(str1));//结果为20        定义的数组大小为20
     66     //printf("%d
    ", sizeof(str2));//结果为4
     67     //printf("%d
    ", sizeof(str3));//结果为5  比上一个是多了一个 
     68 
     69     //栗子
     70     //int arr[3][5] = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
     71     //int arr1[3][5] = { { 15, 14, 13, 12, 11 }, { 10, 9, 8, 7, 6 }, { 5, 4, 3, 2, 1 } };
     72     //printf("%d
    ",arr[1]);//打印出的是元素14的首地址
     73     //printf("%d
    ",arr1[1][2]);
     74     //printf("%d
    ",sizeof(arr1));
     75     //printf("%d
    ",sizeof(arr1[0]));
     76 
     77     //栗子 二维数组赋值
     78     //int arr[3][5] = { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
     79     //arr[1][3] = 88;//可以将初始化的数组元素进行修改 将7改为88
     80     //for (int i = 0; i < 3; ++i)
     81     //{
     82     //    for (int j = 0; j < 5; ++j)//后面不能加分号
     83     //    {
     84     //        printf("%d	",arr[i][j]);
     85     //    }
     86     //    printf("
    ");
     87     //}
     88 
     89     ////栗子 随机赋值 用到随机数 rand();获取随机数的函数
     90     ////连连看游戏  需求: 1.图片是随机出现的 2.出现的图片是成对的  
     91     //int arr[3][5] = {0};
     92     ////int a = rand();//获取随机数
     93     ////int b=rand();
     94     ////printf("a:%d
    ",a);
     95     ////printf("a:%d
    ",b);
     96     //srand(time(NULL));//种下随机数种子 
     97     //for (int i = 0; i < 3; ++i)
     98     //{
     99     //    for (int j = 0; j < 5; ++j)
    100     //    {
    101     //        arr[i][j] = rand()%101;
    102     //    }
    103     //}
    104     ////  5%2   5/2=2....1
    105     //for (int i = 0; i < 3; ++i)
    106     //{
    107     //    for (int j = 0; j < 5; ++j)
    108     //    {
    109     //        printf("%d	",arr[i][j]);
    110     //    }
    111     //    printf("
    ");
    112     //}
    113 
    114     //栗子 写拼图的地图游戏  需求:1数据不能重复
    115     int arr[10];
    116     int temp[10] = {1,2,3,4,5,6,7,8,9,10};
    117     int len = 10;
    118     //随机给arr数组赋值 并且不可以重复
    119     for (int i = 0; i < 10; ++i)
    120     {
    121         int m = rand() % len;//随机获取一个下标
    122         arr[i] = temp[m];
    123         for (int j = m; j < len - 1; ++j)
    124         {
    125             temp[j] = temp[j + 1];
    126         }
    127         len--;
    128     }
    129     //输出
    130     for (int i = 0; i < 10; ++i)
    131     {
    132         printf("%d	",arr[i]);
    133     }
    134 
    135     getchar();
    136     return 0;
    137 }



    2018-07-18 12:46:54

  • 相关阅读:
    ubuntu nginx 伪静态 设置
    ubuntu thinkphp pathinfo 404等问题
    ubuntu svn安装测试
    ubuntu zendDebugger.so 加载不上的问题
    ubuntu ssh安装
    nyoj-660-逃离地球
    nyoj-643-发短信
    nyoj-181-小明的难题
    nyoj-663-弟弟的作业
    nyoj-682-初学者的烦恼
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/9328543.html
Copyright © 2011-2022 走看看