复习 以及 测试

 /*
一维数组
数组是相同的数据的一个集合
<类型><数组名>[下标表达式]={数组元素 初始值};
数组名和变量的命名规则是一样的
数组名是一个地址
数组下标都是从0开始 字符串
字符串数组后面会有\0
""字符串 ''字符
\0是不会输出的 只要空间够 他就会自己加上
字符数组是不会自己添加 \0 需要手动添加 二维数组
在一位数组的基础上 加一个下标的维度
可以理解为数组的数组 */ #include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
//第一种表示方法
//int a, b, c, d, e, f, g;
//a = 1;
//b = 2;
//c = 3;
//d = 4;
//e = 5;
//f = 6;
//g = 7; //第二种表示方法
//int Arr[7] = {1,2,3,4,5,6,7};
//printf("%d\n",Arr[3]);//0~6 Arr[3] 会打印4 数组名是地址
//printf("%d\n",sizeof( Arr));
//printf("%d\n", sizeof(Arr[0])); //栗子
//int a[7] = { 1 };//是给数组的第一个元素进行初始化为1 其他的元素默认为0
//printf("%d\n",a[2]);
//0 1 2 3 4 5 6 数组元素下标与初始化的对应
//1 0 0 0 0 0 0 //栗子
//char Name[20] = "胖七";//字符串数组
//char Str1[5] = { 'H', 'E', 'L', 'L', 'O' };//后面没有\0 数组大小是5 里面的元素刚好也是5个 \0的位置没有了 所以会出现乱码
//char Str[20] = { 'H', 'E', 'L', 'L', 'O' };//后面有\0
// printf("名字:%s\n",Name);
//printf("Str:%s\n",Str1);
//printf("Str:%s\n", Str); //栗子
//char str[] = "hello";
//char str1[20] = { 1, 2, 3, 4, 5, 6 };
//char str2[] = {'n','i','h','a'};
//char str3[] = {"niha"};
//printf("%d\n",sizeof(str)); //结果为6 原因是 定义数组是没有给大小 是根据数组元素个数来计算大小的
//printf("%d\n", sizeof(str1));//结果为20 定义的数组大小为20
//printf("%d\n", sizeof(str2));//结果为4
//printf("%d\n", sizeof(str3));//结果为5 比上一个是多了一个 \0 //栗子
//int arr[3][5] = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
//int arr1[3][5] = { { 15, 14, 13, 12, 11 }, { 10, 9, 8, 7, 6 }, { 5, 4, 3, 2, 1 } };
//printf("%d\n",arr[1]);//打印出的是元素14的首地址
//printf("%d\n",arr1[1][2]);
//printf("%d\n",sizeof(arr1));
//printf("%d\n",sizeof(arr1[0])); //栗子 二维数组赋值
//int arr[3][5] = { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
//arr[1][3] = 88;//可以将初始化的数组元素进行修改 将7改为88
//for (int i = 0; i < 3; ++i)
//{
// for (int j = 0; j < 5; ++j)//后面不能加分号
// {
// printf("%d\t",arr[i][j]);
// }
// printf("\n");
//} ////栗子 随机赋值 用到随机数 rand();获取随机数的函数
////连连看游戏 需求: 1.图片是随机出现的 2.出现的图片是成对的
//int arr[3][5] = {0};
////int a = rand();//获取随机数
////int b=rand();
////printf("a:%d\n",a);
////printf("a:%d\n",b);
//srand(time(NULL));//种下随机数种子
//for (int i = 0; i < 3; ++i)
//{
// for (int j = 0; j < 5; ++j)
// {
// arr[i][j] = rand()%101;
// }
//}
//// 5%2 5/2=2....1
//for (int i = 0; i < 3; ++i)
//{
// for (int j = 0; j < 5; ++j)
// {
// printf("%d\t",arr[i][j]);
// }
// printf("\n");
//} //栗子 写拼图的地图游戏 需求:1数据不能重复
int arr[];
int temp[] = {,,,,,,,,,};
int len = ;
//随机给arr数组赋值 并且不可以重复
for (int i = ; i < ; ++i)
{
int m = rand() % len;//随机获取一个下标
arr[i] = temp[m];
for (int j = m; j < len - ; ++j)
{
temp[j] = temp[j + ];
}
len--;
}
//输出
for (int i = ; i < ; ++i)
{
printf("%d\t",arr[i]);
} getchar();
return ;
}

2018-07-18  12:46:54

C++学习(十六)(C语言部分)之 数组三的更多相关文章

  1. 强化学习(十六) 深度确定性策略梯度(DDPG)

    在强化学习(十五) A3C中,我们讨论了使用多线程的方法来解决Actor-Critic难收敛的问题,今天我们不使用多线程,而是使用和DDQN类似的方法:即经验回放和双网络的方法来改进Actor-Cri ...

  2. Scala学习十六——XML处理

    一.本章要点 XML字面量<like>this</like>的类型为NodeSeq 可以在XML字面量中内嵌Scala代码 Node的child属性产出后代节点 Node的at ...

  3. zeromq学习记录(六)C语言示例

    考虑到官方的示例c语言是最多的 官方未使用C++语言演示的例子就使用VC编译C语言例子 记录在此 /************************************************** ...

  4. salesforce lightning零基础学习(十六) 公用组件之 获取字段label信息

    我们做的项目好多都是多语言的项目,针对不同国家需要展示不同的语言的标题.我们在classic中的VF page可谓是得心应手,因为系统中已经封装好了我们可以直接在VF获取label/api name等 ...

  5. Java学习十六

    学习内容: 1.做毕设 2.Java异常类 3.Java包装类 1.System.exit(1):终止程序运行,终止final执行方法 2.throws抛出异常类型,throw抛出异常对象 用法:th ...

  6. 【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构

    redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 typedef struct redisDb src\server.h 中 ...

  7. Java开发学习(十六)----AOP切入点表达式及五种通知类型解析

    一.AOP切入点表达式 对于AOP中切入点表达式,总共有三个大的方面,分别是语法格式.通配符和书写技巧. 1.1 语法格式 首先我们先要明确两个概念: 切入点:要进行增强的方法 切入点表达式:要进行增 ...

  8. 智能车学习(十六)——CCD学习

    一.使用硬件 1.兰宙CCD四代      优点:可以调节运放来改变放大倍数      缺点:使用软排线(容易坏),CCD容易起灰,需要多次调节   2.野火K60底层     二.CCD硬件电路 ( ...

  9. Java编程思想学习(十六) 并发编程

    线程是进程中一个任务控制流序列,由于进程的创建和销毁需要销毁大量的资源,而多个线程之间可以共享进程数据,因此多线程是并发编程的基础. 多核心CPU可以真正实现多个任务并行执行,单核心CPU程序其实不是 ...

  10. java web 学习十六(JSP指令)

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

随机推荐

  1. ASCII编码、Unicode编码、UTF-8

    一.区别 ASCII.Unicode 是“字符集” UTF-8 .UTF-16.UTF-32  是“编码规则” 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code ...

  2. 安装Adobe Acrobat XI Pro

    从网上下载Adobe Acrobat XI Pro这款软件,下载后将其解压到我们的电脑上,然后找到setup.exe双击安装它,安装时选择“使用试用版本或订阅” 2 选择“自定义”   自定义安装组件 ...

  3. nginx:在linux上进行nginx的安装

    -----1.安装 换源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载: wget ...

  4. Java Swing 简单介绍

    Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕 ...

  5. .NET界面控件DevExpress全新发布v18.2.6|附下载

    DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...

  6. 一次Web请求返回406原因与解决方案

    ajax请求,响应信息返回的却是报错406,. 1.断点调试,进入对应处理方法,且得到正确信息返回到解析器.使用的是ssm,前端ftl 2.js将返回错误信息打出来,类似为: 百度406错误出现的原因 ...

  7. 《深入分析Java Web技术内幕》读书笔记 - 第1章 深入Web请求过程

    第1章 深入Web请求过程 1 1.1 B/S网络架构概述 2 基于统一的应用层协议HTTP来交互数据. 1.2 如何发起一个请求 4 HTTP连接本质是建立Socket连接.请求实现方式:工具包如H ...

  8. C#窗体的浮动及隐藏

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  9. rem问题

    rem为单位时,根元素html的font-size 必须>=12px,否则 默认为font-size:12px. 为啥 html 设置成 62.5%,或者 10px 时,这种换算无效了呢?经过研 ...

  10. 判断终端是ios还是android来加载不同的样式

    <script type="text/javascript"> var addStyleLink = function(href){ var head = docume ...