c语言程序设计武春岭,C语言程序设计(武春岭)电子课件

44cb7578e1df5412b94317daaa3307ba.gifC语言程序设计(武春岭)电子课件

C语言程序设计(武春岭)电子课件,语言程序设计,武春岭,电子,课件

程序设计基础 C语言 第6章数组 项目引导 在信息管理系统项目实施中 有时需要对一组数据进行存储和处理 比如学生成绩管理系统 需要对输入若干个学生的各科成绩并进行统计 在C语言中需要借助数组来完成 如何实现输入并存储一组数据是本章所介绍的内容 问题 回顾第2章学习过的数据类型 思考一个整型变量可以保存几个数据 实数呢 还有字符类型的变量能存储几个字符 答案都是一个 如何实现一次存储多个数据呢 什么是数组 什么样的数据可用数组存储 数组和一般变量的区别 是否也要先定义再使用 一维数组如何定义 如何赋值 如何引用数组中的元素 二维数组的定义和使用 字符数组的定义数组元素和数组作为函数参数有何区别 如何实现一组数据的排序 这些问题都是作为初学者心中的疑问 将在本章的讲解中得到解决 课堂引入 第6章数组 本章重点 本章难点 一维 二维数组的定义 赋值和使用字符数组的定义 赋值和使用数组和数组元素作为函数参数常用的排序方法 二维数组的定义 赋值 使用 存储数组和数组元素作为函数参数 第6章数组 本章主要介绍数组的概念 数组的定义 赋值 引用 数组作函数参数 使用数组来解决现实中的问题 6 1一维数组的定义和使用6 2二维数组的定义和使用6 3数组作为函数参数6 4字符数组 6 1一维数组 6 1 1一维数组的定义1 一维数组的定义格式 类型标识符数组名 元素个数 例 定义一个具有5个整型元素的数组 1 数组名的命名规则与变量名相同 遵循标识符命名规则 2 数组名后是用方括号 不能用圆括号 括起的常量表达式 不能为变量 或变量表达式 3 C语言不允许对数组作动态定义 重点提示 活动 分析下面数组的定义是否正确 1 intm 7 2 intn scanf d 提醒 数组元素的下标是从0开始的 而不是从1开始的 因此 若有定义 charcc 6 则数组cc的元素为 cc 0 cc 1 cc 2 cc 3 cc 4 cc 5 6 1一维数组 2 数组的初始化 数组的初始化 1 定义数组的同时给数组赋初值 如 intb 5 9 1 8 3 4 有元素b 5 吗 2 可对部分元素赋初值 此时 未赋值元素将自动初始化为0 如 intb 10 0 1 2 3 4 b 5 b 9 的值为0 3 若对全部元素赋初值 则可省略数组下标 intb 5 1 2 3 4 5 intb 1 2 3 4 5 6 1一维数组 活动 讨论 思考 数组能否先定义后赋值 后赋值是否可以整体赋值呢 如 inta 5 a 5 1 2 3 4 5 是否正确 6 1一维数组 提醒 只有在对数组进行初始化 并给出了全部初值时才允许省略数组长度 以下表示都是错误的 1 inta 2 如希望数组a的长度为5 但写成 inta 1 2 3 这样是无法达到数组长度为5的 此时该数组的实际长度为3 6 1 2一维数组的应用 通过有效常量下标使用数组元素 例 inta 8 0 1 2 3 4 5 6 7 则 a 0 a 5 a 7 a 2 3 是合法使用的情况 通过循环变量 依次实现对数组元素的输入和输出 main intI a 9 for I 0 I 9 I scanf d 思考如何实现输出 main intI a 9 for I 0 I 9 I scanf d for I 0 I 9 I scanf d 6 1一维数组 6 1一维数组 例6 1 通过键盘给有7个元素的数组a赋值 然后显示该数组内容 6 1 2一维数组的应用 程序如下 main inta 7 i printf 请给数组元素赋值 for i 0 i 7 i scanf d 程序分析 该程序第一个循环用于输入数组元素 主要是通过控制下标来实现的 第二个循环用于逐个输出数组元素 6 1一维数组 例6 2 求有10个元素的数组的最大值 6 1 2一维数组的应用 程序如下 main inti max a 10 printf input10numbers n for i 0 imax max a i printf maxmum d n max 程序分析 本例程序中第一个for语句逐个输入10个数到数组a中 然后把a 0 送入max中 在第二个for语句中 从a 1 到a 9 逐个与max中的内容比较 若比max的值大 则把该下标变量送入max中 因此max总是存入的是最大者 比较结束 输出max的值 6 1一维数组 例6 3 用起泡法 冒泡法 对10个数排序 6 1 2一维数组的应用 程序分析 排序的方法很多 有比较法 选择法 起泡法 希尔法等 不同的方法其排序效率是不同的 在此我们不多加讨论 起泡法的基本思想是 将相邻两个数a 0 与a 1 比较 按由小到大将这两个数排好序 再依次对a 1 与a 2 a 2 与a 3 直到最后两个数比较并排好序 此时 最大数已换到最后一个位置 这算是完成了第一轮比较 经过若干轮比较后 较小的数依次 浮上 前面的位置 较大的数依次 沉底 到后面的位置 就像水泡上浮似的 所以称为 起泡法 或 冒泡法 冒泡法思想分析 例 b 6 10 8 5 7 3 1 第1轮共比较5次 6 1一维数组 6 1 2一维数组的应用 进一步分析 6个数排序共需几轮比较 共需6 1轮 即5轮 比较 6个数排序第1轮 第2轮分别比较多少次 其中第1轮比较 6 1次 其中第2轮比较 6 2次 结论 n个数排序 共需n 1轮比较 其中第i轮需比较n i次 6 1一维数组 例6 3 用起泡法 冒泡法 对10个数排序的实现 main inta 10 inti j t temp printf 请输入10个数 for i 0 ia i 1 temp a i a i a i 1 a i 1 temp for i 0 i 9 i printf d t a i 6 1一维数组 例6 4 采用 选择法 对任意输入的10个整数由大到小排序 程序分析 选择法排序的思路是将n个数依次比较 保存最大数的下标位置 然后将最大数和第1个数组元素换位 接着再将n 1个数依次比较 保存次大数的下标位置 然后将次大数和第2个数组元素换位 按此规律直至比较换位完毕 例如 8 6 9 3 2 7的选择法排序过程如下 6 1一维数组 例6 4 代码实现 程序如下 main intI j t max maxj b 10 for I 0 Imax max b I maxj I t b maxj b maxj b j b j t for I 0 I 10 I printf 4d b I printf n 6 1一维数组 例6 5 在一维数组中查找指定元素的位置 如未找到则输出 未找到 信息 假设数组元素互不相同 程序如下 defineSIZE10main inta SIZE 5 3 2 6 1 7 9 8 11 inti x printf Pleaseinputx scanf d 运行结果 Pleaseinputx 7 Found7 locatedin6position 活动 技能考核 判断分析题 若有 inta 4 1 则元素a 3 的值是多少 若有 intb 5 1 1 2 3 4 则b 5 的值是4 分析问答题 语句 intn 5 a n 是否正确 小结 重点 由以上例子可以看出 对数组元素进行的总是相同的操作 因此数组的处理几乎总是与循环联系在一起的 特别是for循环 循环控制变量一般又作为数组的下标 在使用中要注意数组下标的有效范围 避免出界 6 2二维数组 1 定义格式 类型说明符数组名 常量表达式1 常量表达式2 给出下标的长度 示例 inta 2 3 分析 数组a有二行三列6个元素 活动 说出数组a的元素分别是什么 行下标从0 1 列下标从0 2 说明 二维数组的存储是以行为主顺序进行的 6 2 1二维数组的定义 2 二维数组元素的表示方法二维数组的元素也称为双下标变量 其表示的形式为 数组名 下标 下标 其中 下标应为整型常量或整型表达式 例如 a 3 4 表示a数组三行四列的元素 重点 二维数组元素的下标与数组定义时的下标在形式上有些相似 但这两者具有完全不同的含义 数组定义时方括号中给出的是某一维的长度 即可取下标的最大值 而数组元素中的下标是该元素在数组中的位置标识 前者只能是常量 后者可以是常量 变量或表达式 6 2二维数组 6 2 1二维数组的定义 3 二维数组的初始化 1 按行分段赋值 例 intb 2 3 1 1 3 2 1 0 2 按行连续赋值 例 intb 2 3 1 1 3 2 1 0 6 2二维数组 对于二维数组的初始化赋值还有以下说明 1 可以只对部分元素赋初值 未赋初值的元素自动取0值 例如 inta 3 3 1 2 3 是对每一行的第一列元素赋值 未赋值的元素取0值 赋值后各元素的值为 100200300 inta 3 3 0 1 0 0 2 3 赋值后的元素值为010002300 2 如对全部元素赋初值 则第一维的长度可以不给出 例如 inta 3 3 1 2 3 4 5 6 7 8 9 可以写为 inta 3 1 2 3 4 5 6 7 8 9 提醒 数组是一种构造类型的数据 二维数组可以看作是由一维数组嵌套而构成的 设一维数组的每个元素都又是一个数组 就组成了二维数组 当然 前提是各元素类型必须相同 按照这样的分析 一个二维数组可以分解为多个一维数组 C语言允许这种分解 如有二维数组a 3 4 可分解为三个一维数组 其数组名分别为a 0 a 1 a 2 对这三个一维数组不需另作说明即可使用 这三个一维数组都有4个元素 例如 一维数组a 0 的元素为a 0 0 a 0 1 a 0 2 a 0 3 必须强调的是 a 0 a 1 a 2 不能当作下标变量使用 它们是数组名 不是单纯的下标变量 6 2二维数组 例6 6 一个学习小组有5个人 每个人有三门课的考试成绩 求全组分科的平均成绩和各科综合平均成绩 姓名MathCDBASE张扬807592王洋616571李三596370赵明858790周密767785 分析 可设一个二维数组a 5 3 存放五个人三门课的成绩 再设数组s 3 和v 3 分别存放每列的和及各科平均成绩 设变量aver为全组各科综合总平均成绩 6 2 2二维数组的应用 6 2 2二维数组的应用 例6 6 一个学习小组有5个人 每个人有三门课的考试成绩 求全组分科的平均成绩和各科综合平均成绩 编码实现 程序如下 main inti j s 0 l v 3 a 5 3 printf inputscore n for i 0 i 3 i for j 0 j 5 j scanf d 6 2 2二维数组的应用 例6 7 为一个二维数组输入数据 并将其行和列互换 存到另一个二维数组中 程序如下 main inta 2 3 b 3 2 i j for i 0 i 2 i for j 0 j 3 j scanf d b j i a i j printf n printf arrayb n for i 0 i 3 i for j 0 j 2 j printf 5d b i j printf n 运行结果 123456 arraya 123456arrayb 142536 活动 技能考核 若有 inta 3 2 1 1 1 2 3 4 则元素a 2 0 的值是多少 intb 2 0 1 2 3 4 5 数组的初始化方式是否正确 6 3数组作为函数参数 数组中的元素和数组名都可以作函数参数 但效果是不一样的 数组中的元素作函数参数同变量作参数一样 是单向的值传递 而数组名代表数组的起始地址 当数组名作函数参数时传递的是整个数组 6 3 1数组元素作为函数参数 数组元素作为函数实参 一维数组中的元素作为函数的实参 与同类型的简单变量作为实参一样 是单向的值传递 即数组元素的值传给形参 形参的改变不影响作为数组元素的实参 例6 8 输入两个数 输出其中较大者 floatmax floatx floaty floatz if x y z x elsez y returnz return后的括号可省 求最大值的功能函数如下 形式参数为普通变量即可 主调函数为 main floata 2 c printf pleaseinputtwonumbers scanf f f 6 3 1数组元素作为函数参数 运行结果 pleaseinputtwonumbers 2 5 3 2 500000 3 000000 themaxis3 000000 6 3 2数组名作为函数参数 数组名作为函数参数 此时形参和实参都是数组名 或者是表示地址的指针变量 第7章将讲到 传递的是整个数组 即形参数组和实参数组完全等同 是存放在同一空间的同一个数组 这样形参数组修改时 实参数组也同时被修改了 6 3 1数组元素作为函数参数 例6 9 数组名作函数参数 程序如下 includevoidchange intx 2 intt printf x 0 d x 1 d n x 0 x 1 t x 0 x 0 x 1 x 1 t printf x 0 d x 1 d n x 0 x 1 main inta 2 3 4 printf a 0 d a 1 d n a 0 a 1 change a printf a 0 d a 1 d n a 0 a 1 运行结果 a 0 3 a 1 4x 0 3 x 1 4x 0 4 x 1 3a 0 4 a 1 3 6 3 1数组元素作为函数参数 例6 10 已知一个一维数组 求其中前n个数的和 n由键盘输入 程序如下 includeintsum intarray intn inti s 0 for i 0 i n i s array i returns voidmain intnuma 10 1 2 3 4 5 6 7 8 9 10 scanf d 运行结果 410 总结 数组元素作函数实参 定义功能函数时 形参一定为一般变量 数组名作函数实参 定义功能函数时 形参一定为数组的定义 且调用时 用数组名作为实参 6 4字符数组 用来存放字符串的数组称为字符数组 字符数组中的一个元素存放一个字符 在C语言中 没有提供字符串变量 所以字符串在内存中的存储是靠字符数组来实现的 6 4字符数组 字符数组的定义和初始化形式与前面介绍的数值数组相同 1 字符数组的定义例如 charc 10 charc 5 10 6 4 1字符数组的定义 第一个数组定义了一个包含10个元素的字符数组c 由于字符型与整型是互相通用的 因此上面的定义也可以为 intc 10 6 4 1字符数组的定义和初始化 总结 字符数组的定义和初始化方式与一般数组的方式相同 如果提供的字符个数小于数组长度 则剩余的元素 系统自动补空字符 即 0 1 charc 10 c o p r o g r a m 9个字符分别赋给了c 0 至c 8 由于c 9 没有赋值 所以由系统自动赋0值 2 charc c o m p u t e r 这时c数组的长度自动定为8 3 C语言允许用字符串的方式对数组作初始化赋值 例如 charc Cprogram charc Cprogram 2 字符数组的初始化 6 4 1字符数组的定义和初始化 提醒 字符串在C语言中没有专门的字符串变量 通常用一个字符数组来存放一个字符串 在前面介绍字符串常量时 已说明字符串总是以 0 作为串的结束符 因此当把一个字符串存入一个数组时 也把结束符 0 存入数组 并以此作为该字符串是否结束的标志 有了 0 标志后 就不必再用字符数组的长度来判断字符串的长度了 活动 分析程序的运行结果 main inti j chara 5 B A S I C d B A S E for i 0 i 1 i for j 0 j 4 j printf c a i j printf n 运行结果 BASIC dBASE 字符串的存放 C语言允许将字符串存放到字符数组中 示例 charc book charc book 分析c数组的下标是多少 数组c的下标应为5 提醒 用字符串方式赋值比用字符逐个赋值要多占一个字节 因为还有用于存放字符串的结束标志 0 字符串的输入与输出 分解成单个字符 用循环控制下标的方式依次输入输出 chara 9 for I 0 I 9 I scanf c 用格式 s直接输入输出字符串 chara 10 scanf s a printf s a 数组名a即为字符串的首地址 例6 12 通过键盘输入一个字符串 然后输出 由输入输出函数实现 main charst 15 printf inputstring n scanf s st printf s n st 以上程序 若输入 IlikeC 运行结果 I 想一想为什么 说明 scanf 函数输入字符串时 遇到空格自动认为结束 提醒 本例中由于定义数组长度为15 因此输入的字符串长度必须小于15 以留出一个字节用于存放字符串结束标志 0 小结 1 对一个字符数组 如果不作初始化赋值 则必须说明数组长度 2 还应该特别注意的是 当用scanf函数输入字符串时 字符串中不能含有空格 否则将以空格作为串的结束符 例如运行上例 当输入的字符串中含有空格时 运行情况为 inputstring thisisabook 运行结果 this从输出结果可以看出 空格以后的字符都未能输出 为了避免这种情况 可用C语言提供的字符串输入函数 6 4 1字符数组的定义和初始化 3 字符串常用函数 C语言提供了丰富的字符串处理函数 大致可分为字符串的输入 输出 合并 修改 比较 转换 复制 搜索几类 使用这些函数可大大减轻编程的负担 用于输入输出的字符串函数 在使用前应包含头文件 stdio h 使用其他字符串函数则应包含头文件 string h 下面介绍几个最常用的字符串函数 1 字符串输出函数puts 格式 puts 字符数组名 功能 把字符数组中的字符串输出到显示器 即在屏幕上显示该字符串 6 4 1字符数组的定义和初始化 程序如下 include stdio h main charc BASIC ndBASE puts c 例6 13 puts函数的用法 提醒 puts函数完全可以由printf函数取代 当需要按一定格式输出时 通常使用printf函数 6 4 1字符数组的定义和初始化 2 字符串输入函数gets 格式 gets 字符数组名 功能 从标准输入设备键盘上输入一个字符串 本函数得到一个函数值 即为该字符数组的首地址 例6 14 字符串输入输出函数的用法 程序如下 include stdio h main charst 15 printf inputstring n gets st puts st 提醒 利用字符串输入函数 当输入的字符串中含有空格时 输出仍为全部字符串 说明gets函数并不以空格作为字符串输入结束的标志 而只以回车作为输入结束标志 这是与scanf函数不同的 字符串连接函数 3 字符串连接函数 strcat 格式 strcat 字符数组名1 字符数组名2 c1 c2 执行strcat c1 c2 后 c1 说明 该函数返回值为串1的首地址 字符数组1要足够地长 使用前 要用 include string h 6 4 1字符数组的定义和初始化 例6 15 strcat函数的用法 程序如下 include string h main charst1 30 Mynameis charst2 10 printf inputyourname n gets st2 strcat st1 st2 puts st1 提醒 本程序把初始化赋值的字符数组与动态赋值的字符串连接起来 要注意的是 字符数组1应定义足够的长度 否则不能全部装入被连接的字符串 4 字符串拷贝函数 格式 strcpy 串1 串2 c1 c2 执行strcpy c1 c2 后 c1 说明 该函数使用前 要用 include string h 功能 把字符数组2中的字符串拷贝到字符数组1中 串结束标志 0 也一同拷贝 字符数组名2也可以是一个字符串常量 这时相当于把一个字符串赋予一个字符数组 6 4 1字符数组的定义和初始化 程序如下 include string h main charst1 15 st2 CLanguage strcpy st1 st2 puts st1 printf n 例6 16 字符串的拷贝 提醒 本函数要求字符数组1应有足够的长度 否则不能全部装入所拷贝的字符串 6 4 1字符数组的定义和初始化 5 字符串比较函数strcmp 格式 strcmp 字符数组名1 字符数组名2 功能 按照ASCII码顺序比较两个数组中的字符串 并由函数返回值返回比较结果 字符串1 字符串2 返回值 0 字符串1 字符串2 返回值 0 字符串1 字符串2 返回值 0 提醒 本函数也可用于比较两个字符串常量 或者比较数组和字符串常量 6 4 1字符数组的定义和初始化 程序如下 include string h main intk charst1 15 st2 CLanguage printf inputastring n gets st1 k strcmp st1 st2 if k 0 printf st1 st2 n if k 0 printf st1 st2 n if k 0 printf st1 st2 n 例6 17 字符串比较函数的用法 程序分析 本程序中把输入的字符串和数组st2中的串比较 比较结果返回到k中 根据k值再输出结果提示串 当输入为dbase时 由ASCII码表可知dBASE大于CLanguage故k 0 输出结果为st1 st2 6 4 1字符数组的定义和初始化 格式 strlen 字符数组名 功能 测字符串的实际长度 不含字符串结束标志 0 并作为函数返回值 例6 18 字符串长度测试函数的用法 程序如下 include string h main intk charst Clanguage k strlen st printf Thelenthofthestringis d n k 6 4 2字符数组的应用 例6 19 编写一个密码检测程序 程序如下 include stdio h include string h main charstr 80 定义字符数组str inti 0 while 1 printf 请输入密码 n gets str 输入密码 if strcmp str password 0 输入密码不正确 printf 密码错误 请重新输入 n elsebreak 输入正确密码 退出循环 i if i 3 printf 密码3次不正确 退出系统 n exit 0 printf 密码正确 进入系统 n 以下可以编写进入系统的执行代码 项目实施 6 5高校学生成绩管理系统 数组实现模块设计 6 5 1技能要求1 具有分析问题 解决问题的能力和项目团队合作能力 2 掌握C程序设计模块化编程的思路 3 掌握数组的定义和使用 以及数组作为函数参数的功能实现4 具有程序运行调试和维护能力 6 5高校学生成绩管理系统 数组实现模块设计 6 5 2算法设计高校学生成绩管理系统项目中 主要功能模块有6个 在这里我们用数组实现模块化程序设计 对学生成绩录入和学生成绩统计采用数组来实现 对于其他模块设计 感兴趣的同学可以参考已给的两个模块进行设计 此项目程序设计的主要思路是 第一步 定义全局变量float型数组scores 数组长度设置为100 全局变量num表示处理的学生人数 第二步 定义Create 函数 实现学生成绩的录入和显示 第三步 定义Count 函数 实现学生成绩的统计 显示最大值 最小值和平均成绩 第四步 设计主函数main 程序设计流程图 6 5 3代码编写及运行调试 程序代码 includefloatscores 100 创建实型数组scores 存储学生成绩 intnum 0 num表示学生人数 voidCreate 学生成绩的录入功能函数 实现所有学生成绩显示功能 inti printf 请输入学生的人数num do scanf d voidCount 学生成绩统计功能函数 inti floatmax min ave if num 0 printf 请先录入学生的成绩 再进行统计分析 n printf n Create max min ave scores 0 for i 1 iscores i min scores i ave ave scores i ave ave num printf 学生成绩管理系统 n printf 学生成绩统计分析如下 n printf 学生人数是 d人 n num printf 学生成绩中最高分是 1f分 n max printf 学生成绩中最低分是 1f分 n min printf 学生成绩平均分是 1f分 n ave voidmain 输出高校学生成绩管理系统的界面信息 printf n 高校学生成绩管理系统 n printf n printf 1 学生成绩录入2 学生成绩查询 n printf 3 学生成绩统计4 学生资料删除 n printf 5 学生资料修改6 学生成绩插入 n printf 0 系统退出 n printf n printf 请您根据需要选择 0 6 n intt scanf d 项目实施 如果进行学生成绩录入功能实现 则运行结果图如下 若实现学生成绩统计功能 运行结果如图所示 思考 在此项目程序中 为什么数组scores 变量num是全局变量 参考学生成绩录入函数和学生成绩统计函数去设计其余功能函数 如何在统计函数中 避免重新录入功能 本章总结 数组是一组具有相同数据类型的数据的有序集合 对数组元素的处理通常是与循环语句联系在一起的 并将循环变量巧妙地作为数组的下标 表示出了数组元素在数组中的位置关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值