暂时未有相关云产品技术能力~
暂无个人介绍
9 . 函数 SearchContact() 的声明 -- 查找指定通讯录成员信息: 参数接收 -- const Contact* pc (只是打印,不用修改所以设置为常量) 返回类型 -- void
(7). 修改默认对齐数: 结构在对齐方式不合适的时候,我们可以自己更改默认对齐数。 使用 #pragma 预处理指令,修改默认对齐数
1 . 结构体 (1). 结构体的基础知识: 结构是一些值的集合,这些值称为成员变量。 结构的每个成员可以是不同类型的变量。
题目: 有一个数字矩阵(二维数组), 矩阵的每行从左到右是递增的, 矩阵从上到下是递增的, 请编写程序在这样的矩阵中查找某个数字是否存在, 要求:时间复杂度小于O(N)。
方法3:迭代方式
10. 指针笔试题 (1). 笔试题一:
复习巩固: 数组名: 数组名是数组首元素的地址, 但是有两个例外:
题目: 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。
题目: 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三;
思路: 总体思路: 找到规律: 行数 + 列数 < 三角形长度 - 1 打印 两个空格(题目要求带空格的三角形) 其它情况下打印 *号和空格(题目要求带空格的三角形) 使用 while循环 进行多组输入
思路: 总体思路: 实际打印的是 n*n 的图案, 只不过是当 行等于列(正斜线) 、行+列=行数-1(反斜线) 打印 * 号
题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。 (奇数在数组前面,偶数在数组后面)
总体思路: (一). 定义相关变量: int money = 0; -- 一元一瓶,所以也等于空瓶数 int total = 0; -- 喝的总瓶数
思路: 总体思路: (一). 生成变量: int a = 0; -- 题目中的a int n = 0; -- a 的前 n 项
思路: 总体思路: (一). 计算 i 的位数: 使用 for循环 产生 0~100000 的数(变量i)
题目: 链接:字符逆序__牛客网 来源:牛客网 将一个字符串str的内容颠倒过来,并输出。
思路三:自定义函数用 while循环 进行循环打印 总体思路: (一). 自定义函数print: 函数参数: float* p -- 数组首元素地址 int sz -- 数组元素个数 使用指针变量表示元素个数: float* q = p + sz;
总体思路: (一). 定义一维数组arr: float arr[] = { 3.14f, 99.9f, 66.5f, 0.0f }; 定义指针变量: float* p = arr; -- 把数组名(数组收元素地址)放进指针变量
思路二:用数组存储各月的日期 总体思路: (一). 写一个函数 get_days_of_month 返回对应月份天数:
描述 KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。 输入描述: 多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。 输出描述:
总体思路: (可以把两步顺序调换) 第一步: 把 整个字符串 逆序 (知道 整个字符串 的首尾地址后,一对一对向整个字符串中间靠拢交换)
总体思路: (一). 输入两个数:a 和 b, 使用 三目表达式 把较大值 取出
描述 输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。 输入描述: 输入包含三行, 第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。 第二行包含n个整数,用空格分隔。 第三行包含m个整数,用空格分隔。
思路: 总体思路: 把 m 异或 n 后,有几个相异就有几个1,再计算下二进制有几个1即可 (1). 编写函数:number_of_1() ,计算二进制中有几个1。 (2). 在主函数中,把 m ^ n (m 异或 n)的结果作为参数传给 number_of_1() 函数
总体思路: (一). 输入数据 (二). 打印奇数位: 使用 for循环 循环产生 1~32 之间的偶数, 使用 移位操作符 移动偶数位,移动后就是奇数位, 这时再 按位与1 取出当前位, 进行打印。打印完奇数后进行 换行
思路一:使用 %2 和 /2 取出每一位并判断 总体思路: (一). 创建函数,参数要设置成无符号整数,设置计数器计算1的个数 (二). 使用 while循环 循环判断二进制每一位, 使用 %2 判断最低位是否为 1, 使用 /2 去掉判断了的最低位,下次循环开始判断新的最低位
思路: 总体思路: (一). 实现 函数init() -- 初始化数组为全0 (二). 实现 函数print() -- 打印数组的每个元素 (三). 实现 函数reverse() -- 函数完成数组元素的逆置 (四). 完成 主函数 的编写 -- 测试这三个函数
思路: 总体思路: (一)自定义函数部分: (1). 参数:
思路一:普通方法 总体思路: (一). 生成相关变量; 从键盘输入两个数;
思路二: 总体思路: 因为偶数除了 2 都不是素数,且题目范围中没有 2 , 所以可以只生成 100~200 之间的奇数,可以排除一半的数字, 效率提升一倍。
思路一:使用试除法 总体思路: (一). 使用外循环:生成 100~200 之间的数。 (二). 设置内循环:生成 2 ~ i-1 的数。
思路: 总体思路: (一). 生成相关变量、存放输入数据的字符数组, 再设置一个变量flag方便后面判断密码是否一致, 一致则把flag改为1,不一致则还是0。
题目: 给出第一个字符串,如:"welcome to school!!!!!", 设置第二个字符串:"######################",
第一步: (1). 设置初始数组:int arr[]。 (2). 生成相关变量: int n = 0; -- 存放从键盘输入的要查找的值; int i = 0; -- 循环变量;
思路一:普通方法 (逻辑简单,在无序数组中也可以使用,但效率较低,需要逐个查找) 总体思路:
思路一: 效率比较低,会重复计算之前计算过的阶乘,但逻辑简单好理解
题目: 从键盘输入一个值n,计算n的阶乘, 如:输入5,计算5的阶乘 --> 5! = 1 * 2 * 3 * 4 * 5
5. 调整数组使奇数全部都位于偶数前面 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
练习:(重点在图片注释) 1. 打印菱形
(4). 取出内存中的 指数E(三种情况):E全为1 指数E 是通过 真实值+中间值 算出来的,如果E全是1,(32位系统)说明E的真实值是 128,指数是128说明这个值是非常大的。 这时,如果 有效数字M 全为0,表示 ±无穷大(正负取决于符号位s)
3. 浮点型在内存中的存储 (一). 字面(直接写出来的)浮点数: 3.14159 1E10 --> 1.0 * 10^10 (1.0 乘 10的10次方) --> E:底数是10
(5). 练习:(重点在注释) 1. 区别 unsigned 和 signed :
2. 整型在内存中的存储 变量的创建时要在内存中开辟空间的,空间的大小是根据不同的类型而决定的 而开辟空间后,数据在所开辟内存中是如何存储的呢?
1. 数据类型介绍 (1). 基本的内置类型(C语言自带类型):
1. 计算递归了几次:
(3). 示范二:模拟实现库函数:strlen
查看调用堆栈(调用堆栈) 通过调用堆栈,可以清晰地反应函数的调用关系以及当前调用所处的位置。
1. 调试 (1). 调试是什么? 调试(Debugging / Debug),又称出错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程(一系列动作)。
1. 结构体的声明 1.1:结构的基础知识
5. 指针和数组 指针: 指针变量就是指针变量,不是数组,指针变量的大小是 4/8 个字节,是专门用来存放地址的。