菜单功能,实现循序队列

李学刚等编著《数据结构》教材的课堂实践3_1 -解答代码 设计一个选择菜单,根据用户的选择决定对顺序栈进行置空栈、进栈、退栈、取栈顶元素和退出程序的操作。 立即下载

#include<stdio.h>
#include<stdlib.h>

#define MaxSize 100
typedef int ElemType;
typedef struct
{
 ElemType data[MaxSize];
 int front;
 int rear;
}CircSeqQueue;

//顺序循环队列的初始化
void QueueInitial(CircSeqQueue *pQ)
{
 //创建一个又指针pQ所指向的空顺序循环队列
 pQ->front=pQ->rear=0;
}

//顺序循环队列判空
int IsEmpty(CircSeqQueue *pQ)
{//顺序循环队列为空时返回1,否则返回0
 return pQ->front==pQ->rear;
}

//顺序循环队列判满
int IsFull(CircSeqQueue *pQ)
{//循环队列为满时返回1,否则返回0
 return (pQ->rear+1)%MaxSize==pQ->front;
}

//元素进队
void EnQueue(CircSeqQueue *pQ, ElemType e)
{//若队列不满,则元素e进队
 if(IsFull(pQ))//队列已满,退出
 {
  printf("队列溢出!/n");
  exit(1);
 }
 pQ->rear=(pQ->rear+1)%MaxSize;//队尾指针后移
 pQ->data[pQ->rear]=e;
}

//元素出队
ElemType DeQueue(CircSeqQueue *pQ)
{//若循环队列不为空,则删除队头元素,并返回它的值
 if(IsEmpty(pQ))//队列为空,退出
 {
  printf("空队列!/n");
  exit(1);
 }
 pQ->front=(pQ->front+1)%MaxSize;//队头指针后移
 return pQ->data[pQ->front];
}

//取队头元素
ElemType GetFront(CircSeqQueue *pQ)
{//若队列不为空,则返回队头元素的值
 if(IsEmpty(pQ))
 {
  printf("空队列!/n");
  exit(1);
 }
 return pQ->data[(pQ->front+1)%MaxSize];
}

//循环队列置空
void MakeEmpty(CircSeqQueue *pQ)
{//将由指针pQ所指向的队列变为孔队
 pQ->front=pQ->rear=0;
}

void main()
{
 printf("顺序循环队列的实现/n");
    int n,i,m, temp;
 CircSeqQueue Q;
 CircSeqQueue *pQ=&Q;
   
 for(;;)
 {
  printf("请选择您要执行的操作1~7:/n");
  printf("1:初始化队列/n");
  printf("2:判空/n");
  printf("3:元素进队/n");
  printf("4:出队一个元素/n");
  printf("5:输出元素个数/n");
  printf("6:输出出队序列/n");
  printf("7:退出/n");
       
  scanf("%d",&m);
  switch(m)
  {
      case 1:  QueueInitial(pQ);
         printf("队列初始化成功!/n");
      break; //顺序循环队列的初始化
   case 2:  if(IsEmpty(pQ))
       printf("队列为空!/n");
      else printf("队列非空!/n");
         break;  //顺序循环队列判空
   case 3:  printf("请输入要进队的元素的个数:/n");//元素出队
                  scanf("%d",&n);
                  for(i=0;i<n;)
      {
                   printf("请输入第%d个元素:/n",++i);
                   scanf("%d",&temp);
                   EnQueue(pQ,temp);
      }
      break;
   case 4:  printf("队头元素为:/n");  //出队一个元素,输出该元素
                     printf("%d /n",DeQueue(pQ));break;
            case 5:  printf("此时元素个数为:");//输出元素个数
                  printf("%d /n",pQ->rear-pQ->front);break;
   case 6:  printf("出队列为:/n");
                  while(pQ->front!=pQ->rear)//输出出队序列
               printf("%d ",DeQueue(pQ));
      printf("/n");break;
            case 7:  return;
  }
 }
}

李学刚等编著《数据结构》教材的课堂实践3_2 -解答代码 设计一个选择菜单,根据用户的选择决定对链栈进行置栈空、进栈、出栈、取栈顶元素和退出程序的操作。 立即下载

相关推荐

C#创建COM组件,QT调用COM组件简单测试(VS2008+QT4.6.4)

一. C#创建组件: 1. VS2008新建一个项目,选择Visual C#, Class library 修改Properties下面的AssemblyInfo.cs文件,ComVisible属性设置为True,即:[assembly: ComVisible(true)] 2. 右击项目,选择“属性”, 选择“生成”选项卡,把“为COM互操作注册”勾选上 选择“签名”选项卡,把“

3517

顺序队的基本操作

顺序队的基本操作 和前面的一样,给大家分享我个人的代码,如果大家有什么好的意见,欢迎留言 只写小白都能看懂的操作。 1.队的类型定义 typedef struct { ElemType data[MaxSize]; int front,rear; //队首和队尾指针 }SqQueue; 2.队的五大基本运算 1.初始化 void InitQueue(SqQueue *&q) { q=(SqQueue *)malloc(sizeof(SqQueue));//

H571117304的博客 570

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 736

数据结构之顺序队列的基本操作,用菜单实现(初始化,判空,判满,进队列,出队列,从队头打印到队尾,从队尾打印到队头,计算队列长度)

//Queue On Sequence Structure #include<stdio.h> #include<conio.h> #include<stdlib.h> #define MAXSIZE 10 #define FALSE 0 #define TRUE 1 typedef char QueueElementType; //数据元素类型...

weixin_45994391的博客 1591

基于步科(Kinco HMI 2.5)的组态软件使用

本篇介绍Kinco HMI 2.5的组态软件使用,图标如下 目录   一、新建工程并配置连接 1.1 根据工程选择PLC与HMI型号 1.2 配置PLC连接与选项 二、组态画面编辑 2.1 打开画面窗口 2.2 编辑画面 2.3 组态变量与PLC程序变量连接 三、组态程序下载到HMI 3.1 连接 3.2 编译 3.3 下载 一、新建工程并配置连接 1.1 根据工...

ACanswer的专栏 1万+

【教程】BM1684X-32边缘计算盒子 网络配置教程

BM1684X边缘计算盒子网络配置教程

ShiMetaPi的博客 714

c语言定义链式队列用菜单,数据结构(C语言)队列的基本操作

实验名称:实验四队列的基本操作实验目的掌握队列这种抽象数据类型的特点及实现方法。实验内容从键盘读入若干个整数,建一个顺序队列或链式队列,并完成下列操作:(1)初始化队列;(2)队列是否为空;(3)出队;(4)入队。算法设计分析(一)数据结构的定义单链表存储结构定义为:struct Node; //链表单链表typedef struct Node *PNode;int dui;dui =1;stru...

weixin_30083369的博客 402

STM32 使用IO口模拟I2C时序

上一篇《I2C协议详解》 我们了解了I2C的操作流程,这一篇,我们就使用I2C,来对EEPROM进行操作吧。 我们做两种选择: 1.时序由IO口模拟高低电平,需要了解协议并按照协议操作相应的IO口。 2.时序由硬件自行产生,不需要人工干预; 由硬件产生的I2C时序,我们借助Stm32Cube配置实现便可,我们这一篇,抛开Stm32Cube,手撕代码,根据I2C的时序,一步步地实现I2C对...

8937

循环队列的基本操作,你学会了吗?

编程实现循环队列的基本操作:建队列,取队头元素,入队,出队

princekin 1万+

ArcGISPro应用指南:ArcGISPro制图全流程详解

本文介绍了基于ArcGIS Pro的地图制作基本流程,旨在帮助读者快速掌握从数据加载到地图输出的完整制图操作。文章首先简要概述了GIS技术在当今数据驱动时代的重要作用,并引出ArcGIS Pro作为专业GIS平台的优势与应用价值。随后,内容围绕地图制作的核心步骤展开,包括数据加载、布局创建、地图范围设置以及各类地图要素(如指北针、比例尺、图例、图名)的插入与样式调整。此外,还介绍了如何通过添加图形、文本及动态元素增强地图表达效果,并最终完成地图导出设置与文件输出格式的选择。

weixin_45812624的博客 1358

c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?

Emgu CV 是 OpenCV 的 .NET 包装器,可以让开发者在 .NET 语言(如 C#)中使用 OpenCV 的功能进行图像处理。在进行图像处理时,Emgu CV 提供了丰富的 API 可以使用。PictureBoxImageBox下面是一个详细的示例,演示如何使用 Emgu CV 在 C# 中进行基本的图像处理,包括加载图像、转换为灰度图像、进行边缘检测,然后显示结果。byte在这个示例中,我们使用了三个PictureBox控件来显示原始图像、灰度图像和边缘检测后的图像。

zhangzhechun的专栏 670

制作一个菜单,用队列实现基本操作

#include #include #include #define Maxsize 10 int  data[10]={0}; int  front=0; int  rear=0; int  count=0; void Menu(); int  Queuein(); int  Queueout(); int  Traverse(); int  Empity(); in

LZXloveGYD的博客 1185

GameFramework框架详解之 Network网络框架

NetworkManager只负责维护NetworkChannel,实际的有种我们简历网络连接的也是NetworkChannel作为一个网路频道,这样管理起来比较方便,比如:一个游戏可能有多个网络连接,那么我们建立多个网络频道即可,或者当我们一个网络频道断线后,我们可以直接再新建一个,防止数据混乱。/// /// 网络管理器。/// /// 网络频道。/// 用户自定义网络错误事件。/// 检查是否存在网络频道。/// 获取网络频道。/// 获取所有网络频道。

TxNet 3366

二叉树各种遍历功能的实现(c/c++)

二叉树的递归方式先序、中序、后序遍历,非递归方式先序、中序、后序遍历,层次遍历。

qq_62800173的博客 2511

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

2024年Web前端最新循序渐进VUE+Element 前端应用开发(17)--- 菜单资源管理,面试复盘总结怎么写

很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。》我介绍了用户动态配置的菜单资源,结合本系统的所有路由,实现菜单的显示外,还过滤了系统路由,实现可访问路由的管理,两者结合实现了系统有效的菜单和路由的控制。// 定义本系统的所有路由,具体路由呈现经过菜单数据过滤。

2401_84411522的博客 875

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android简洁饼状图组件、圆形Menu菜单、画板画笔应用、答题应用等源码

Android精选源码 android自动监听复制内容源码 Android上简洁轻量级的饼图控件 好看的 Android 圆形 Menu 菜单效果 android画笔、画板功能效果的实现 Android撸一个Android图表框架 支持 Item 展开效果的 RecyclerView 今日头条最新视频解析方法 一个趣味答题应用,展现了各种选题、答题的转场动画 Android 一种拉...

ld11620967的博客 449

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java/android循序渐进

第一阶段 Java基础 共96 Java语言基础 Java开发环境搭建与部署 虚拟机 需求导向/ (数据类型/运算符/表达式/条件/循环/字符串/数组) 基础认知,扩展,整合 32 Java面向对象 面向对象设计思想 (接口/类/静态/对象/继承)/面向对象设计编程 (异常/I/0流/多线程) 全面掌握面向对象设计思想理念 32 Java进阶

yami的专栏 905

二叉树高频考点的实现02

二叉树高频考点的实现02

qq_62800173的博客 320

pfSense流量整形完全教程:QoS带宽管理与优先级设置终极指南

在当今网络环境中,有效的带宽管理对于保障关键业务应用的性能至关重要。pfSense作为一款功能强大的开源防火墙和路由器系统,提供了完善的流量整形功能,能够帮助用户实现精细化的QoS带宽控制。本教程将为您详细讲解如何在pfSense中配置流量整形,优化网络性能。 ## 🔍 什么是pfSense流量整形? pfSense流量整形是一种基于ALTQ(Alternate Queuing)系统的QoS

gitblog_00348的博客 552

孙鑫C++视频教程 rmvb格式 全20CD完整版 精品分享

(注意以下为FTP下载地址,建议使用迅雷等下载工具下载,全20CD,已添加完整) 孙鑫C++教程(全20讲)PPT讲义.rar 孙鑫C++教程01.rar 孙鑫C++教程02.rar 孙鑫C++教程03.rar 孙鑫C++教程04.rar 孙鑫C++教程05.rar 孙鑫C++教程06.rar 孙鑫C++教程07.rar 孙鑫C++教程08.rar 孙鑫C++教程0

梅馨嫣栀 1万+

孙鑫C++视频教程

(注意以下为FTP下载地址,建议使用迅雷等下载工具下载,全20CD,已添加完整) 孙鑫C++教程(全20讲)PPT讲义.rar 孙鑫C++教程01.rar 孙鑫C++教程02.rar 孙鑫C++教程03.rar 孙鑫C++教程04.rar 孙鑫C++教程05.rar 孙鑫C++教程06.rar 孙鑫C++教程07.rar 孙鑫C++教程08.rar 孙鑫C++教程0

又见炊烟 6280

孙鑫 VC++ 视频教程--初学者值得一看

孙鑫C++视频教程 rmvb格式 全20CD完整版,初学者值得一看, 20CD完整版的下载如下: (注意以下为FTP下载地址,建议使用迅雷等下载工具下载,全20CD,已添加完整) 迅雷专用高速下载 孙鑫C++教程(全20讲)PPT讲义.rar 迅雷专用高速下载 孙鑫C++教程01.rar 迅雷专用高速下载 孙鑫C++教程02.rar 迅雷专用高速下载 孙鑫C++教程0

SelfRef的专栏 2343
上一篇: 循环顺序队列的实现
下一篇: 链式队列
Kinshipa
博客等级 码龄17年 6粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值