题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-10-25 20:36:51

[简答题]

阅读以下说明和C++程序,将应填入 __(n)__处的字句写在答题纸的对应栏内
【说明】
以下程序的功能是计算三角形、矩形和正方形的面积并输出。
程序由4个类组成:类Triangle,Rectangle和Square分别表示三角形、矩形和正方形;抽象类Finure提供了一个纯虚拟函数getArea(),作为计算上述三种图形面积的通用接口。
【C++程序】
   #include
   #include
 class Figure{
   public:
   virtual double getArea( )=0;  //纯虚拟函数
  };
class Rectangle:__(1)__ {
   protected:
   double height;
   double width;
   public:
   Rectangle( ){};
   Rectangle(double height,double width){
    This->height=height;
    This->width=width;
   }
   double getarea( ){
    return __(2)__ ;
   }
  };

  class Square:__(3)__ {
   public:
   square(double width){
    __(4)__ ;
   }
  };

  class triangle:__(5)__ {
   double la;
   double lb;
   double lc;
   public:
   triangle(double la ,double lb,double lc){
    this ->la=la; this

更多"阅读以下说明和C++程序,将应填入 __(n)__处的字句写在答题纸的"的相关试题:

[简答题]

阅读以下说明和Java程序,将应填入__(n)__处的字句写在答题纸的对应栏内
【说明】
以下程序的功能时三角形、矩形和正方形的面积输出。
程序由5个类组成:areatest是主类,类Triangle,Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算面积的抽象方法。
【程序】
           public class areatest{
   public static viod main(string args[]){
    Figure[]Figures={
     New Triangle(2,3,3),new rectangle(5,8),new square(5)
    };
    for (int i= 0;i< Figures.length;i++){
     system.out.println(Figures+”area=”+ Figures.getarea( ));
    }
   }
  }

     public string tostring( ){
    return”rectangle: height=”+ height +”, width=”+ width +”:”;
   }
   public double getarea( ){
    return __(2)__
   }
  }
  public class square exends __(3)__
  {
   public square(double width) {
    __(4)__ ;
   }

   public string tostring(

[简答题]

试题八
阅读以下说明和Java 程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。
[说明]
在下面的 Java 程序代码中,类SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与FootDecorator 分别完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
------------------------
这是票据的台头!
这是票据的脚注!
[Java 程序代码]
public class SalesTicket {
public void printTicket( ) {
System.out.println("这是票据正文!");
}
}
public class Decorator extends SalesTicket{
SalesTicket ticket;
public Decorator(SalesTicket t){
ticket = t;
}
public void printTicket( ){
if(ticket != null)
ticket.printTicket( );
}
}
public class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t) {
(1) ;
}
public void printTicket( ) {
System.out.println("这是票据的台头!");
super.printTicket( );
}
}
public class FootDecorator extends Decorator{

[简答题]

 试题四
 阅读以下说明和C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。
 [说明]
 假设需要将N 个任务分配给N 个工人同时去完成,每个人都能承担这N 个任务,但费用不同。下面的程序用回溯法计算总费用最小的一种工作分配方案,在该方案中,为每个人分配1 个不同的任务。
 程序中,N 个任务从0 开始依次编号,N 个工人也从0 开始依次编号,主要的变量说明如下:
c[i][j]:将任务i分配给工人 j的费用;
task[i]:值为0表示任务i未分配。值为j表示任务I分配给工人j;
worker[k]:值为0表示工人k未分配任务,值为1表示工人k已分配任务;
mincost:最小总费用。
[C程序]
#include
#define N 8 /*N表示任务数和工人数*/
int c[N][N];
unsigned int mincost = 65535; /*设置min的初始值,大于可能的总费用*/
int task[N],temp[N],worker[N];
void plan(int k,unsigned int cost)
{int i;
 if (_____(1)_____&& cost < mincost){
 mincost = cost;
 for (I=0;I}
 else {
for ( i = 0 ; iif ( worker [i]==0 && ___(2)_____){
 worker [ i ] = 1;task [ k ]=___(3)_____;
plan(_____(4)_____,cost + c [ k ] [ i ]);
______(5)_______; task [k] = 0;
 } /*if*/
}
 } /*Plan*/

void main ( )
{ int i,j;

[简答题]

试题六
阅读以下说明和C++程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
---------------
这是票据的台头!
这是票据的脚注!
【C++程序代码】
#include
using namespace std;
class SalesTicket{
public:
(1) printTicket( ) cout << " 是票据正文!" << endl;}
};
class Decorator : public SalesTicket{
SalesTicket *ticket;
public:
Decorator(SalesTicket *t) ticket = t;}
void printTicket( ){
if(ticket != NULL)
ticket->printTicket( );
}
};
class HeadDecorator : public Decorator{
public:
HeadDecorator(SalesTicket *t): (2){}
void printTicket( ){
sour << "这是票据的台头!" << endl;
Decorator::printTicket( );
}
};
class FootDecorator :public Decorator{
p

[简答题]

试题六
阅读以下说明和C++程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。
[说明]
在下面的C++代码中,类SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与FootDecorator 分别完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
------------------------
这是票据的台头!
这是票据的脚注!
[C++程序代码]
#include
using namespace std;

class SalesTicket {
public:
(1) printTicket( ) { cout << "这是票据正文!" << endl;}
};

class Decorator : public SalesTicket{
SalesTicket *ticket;
public:
Decorator(SalesTicket *t){ ticket = t; }
void printTicket( ){
if(ticket != NULL)
ticket->printTicket( );
}
};
class HeadDecorator : public Decorator{
public:
HeadDecorator(SalesTicket *t): (2) { }
void printTicket( ) {
cout << "这是票据的台头!" << endl;
Decorator::printTicket( );
}
};
class FootDecorator :public Decorator{<

[简答题]试题四 阅读以下说明和C 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明] 函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n 转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B 进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C 代码中的符号常量及栈的类型定义如下: #define MAXSIZE 32 typedef struct { int *elem; /* 栈的存储区 */ int max; /* 栈的容量,即栈中最多能存放的元素个数 */ int top; /* 栈顶指针 */ }Stack; [C 代码] int InitStack(Stack *S, int n) /* 创建容量为n 的空栈 */ { S->elem = (int *)malloc(n * sizeof(int)); if(S->elem == NULL) return -1; S->max = n; (1) = 0 ; return 0; } int Push(Stack *S, int item) /* 将整数item 压入栈顶 */ { if(S->top == S->max){ printf("Stack is full!/n"); return -1;} (2) = item ; return 0; } int StackEmpty(Stack S) { return (!S.top) 1 : 0; } /* 判断栈是否为空 */ int Pop(Stack *S) /* 栈顶元素出栈 */ { if(!S->top) { printf("Pop an empty stack!/n"); return -1;} return (3) ; } void MultibaseOutput(long n, int B) { int m; Stack S; if (InitStack(&S, MAXSIZE)) {printf("Failure!/n"); return;} do { if (Push(&S, (4) )) {printf(
[简答题]

试题二
阅读以下说明和C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
函数int find_Max_Min(int a[],int n)的功能是:找出n 个元素的数组a 中的最大元素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较a[0]和a[n-1],若a[0]大,则交换a[0]和a[n-1]的值;再比较a[1]和a[n-2],若a[1]大,则交换a[1]和a[n-2]的值;依此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元素,在后半区从后往前找出大元素。
[函数]
int find_Max_Min(int a[],int n)
{ /*找出n 个元素的数组a 的最大、最小元素并输出,返回查找过程元素中的比较次数*/
int i,Count = 0;
int temp,Maxnum,Minnum;
for(i = 0; i < n/2; i++) {
Count = Count + 1; /*元素比较次数计数*/
if (a[i] > a[ (1) ])
{ /*数组元素交换代码略*/}
}
Maxnum = a[n-1]; Minnum = a[0];
for(i = 1; i < n/2 + n%2; i++) {
Count = (2) ; /*元素比较次数计数*/
Minnum = (3) a[i] : Minnum; /*找最小元素*/
Maxnum = (4) (5) : Maxnum; /*找最大元素*/
}
printf("Max=%d/n",Maxnum);
printf("Min=%d/n",Minnum);
return Count;
}


[简答题]

试题二
阅读以下说明和C 函数,将应填入(n) 处的字句写在答题纸的对应栏内。
[说明]
某单位准备进行一次选举,对指定的n 名(n<80)候选人进行投票。为了简化选举工作,事先印制了写有这n 名候选人姓名的选票,投票者只需将选中者名下的圆圈涂黑即可。规定每张选票上被涂黑的圆圈数不得超过3 个,也不得少于1 个,否则视为无效选票。投票结束后,所有选票经计算机扫描处理,形成了描述选票状态的文本文件。例如,n=8 时所形成的文件如下:
01011000
10010100
10011000
11111111
00000000
00111000

其中,每行表示一张选票的数据,每列代表一位候选者的得票情况。第i 行第j 列为1,表示第i 张选票上投了第j 名候选人1 票。
函数statistic( )的功能是读入选票数据,并统计每位候选者的得票数,函数返回有效选票数。
[C 函数]
int statistic(FILE *fp,int candidate[],int n)
{ /* 从文件中读入选票数据,n 为候选人数量(n<80),从有效选票中统计每位候选者的得
char str[80]; /* str 保存读入的一张选票数据 */
int i,tag = 0; /* tag 用于判断每张选票是否有效 */
int q = 0; /* q 用于计算有效选票数 */
for(i = 0; i < n; i++)
candidate[i] = 0;
while ( (1) ) {
fgets(str,80,fp); /* 读入一张选票数据 */
for(tag = 0,i = 0; (2) ; i++)
if (str[i] == ’1’) tag++;
if ( (3) ){ /* 若是有效选票,则进行统计 */
(4) ;
for(i = 0; i < n; i++)
if (str[i] ==

[简答题]

试题五
阅读以下说明和C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二叉排序树。
函数insert_BST (char *str)的功能是:对给定的字符序列按照ASCII 码值大小关系创建二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点中的Count 域对字符的重复次数进行计数。
二叉排序树的链表结点类型定义如下:
typedef struct BSTNode{
char Elem; /*结点的字符数据*/
int Count; /*记录当前字符在序列中重复出现的次数*/
struct BSTNode *Lch,*Rch; /*结点的左、右子树指针*/
}*BiTree;
[函数]
BiTree insert_BST(char *str)
{ BiTree root,parent,p;
char (1) ; /* 变量定义及初始化 */
root = (BiTree)malloc(sizeof(struct BSTNode));
if (!root || *s==’/0’) return NULL;
root->Lch = root->Rch = NULL; root->Count = 1; root->Elem = *s++;
for(; *s != ’/0’; s++) {
(2) ; parent = NULL;
while (p) { /* p 从树根结点出发查找当前字符*s 所在结点 */
parent = p;
if (*s == p->Elem) /*若树中已存在当前字符结点,则当前字符的计数值加1*/
{ p->Count++; break; }
else /*否则

[简答题]

阅读下列函数说明和C函数,将应填入▁处的字句写在答题纸的对应栏内。
[函数5说明]
  函数DeleteNode(Bitree *r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:
  typedef struct Tnode{
    int data; /*结点的键值*/
    struct Tnode *Lchild,*Rchild; / * 指向左、右子树的指针 * /
     }*Bitree;
在二叉查找树上删除一个结点时,要考虑三种情况:
①若待删除的结点p是叶子结点,则直接删除该结点;
②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;
③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。[函数5]
int DeleteNode(Bitree *r,int e){
Bitree p=* r,pp,s,c;
while( (1) ){/ * 从树根结点出发查找键值为e的结点 * /
pp=p;
if(e<p->data) p=p->Lchild;
else p=p->Rchild
}
if(! p)return-1;/ * 查找失败 * /
if(p->Lchild && p->Rchild){/ * 处理情况③ * /
s= (2) ;pp=p;
while( (3) ){pp=s;s=s->Rchild;}
p->dara=s->data;P=s;
}
/ * 处理情况①、② * /
if( (4) )c=p->Lchild;
else c=p->Rchild
if(p==*r) *r=c;

[简答题]

试题四
阅读以下说明和C程序代码,将应填入___(n)___处的语句写在答题纸的对应栏内。
[说明]
函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:
# define MAXSIZE 32
typedef struct
int * elem; /* 栈的存储区 */
int max; /* 栈的容量,即栈中最多能存放的元素个数 */
int top; /* 栈顶指针 */
Stack;
[C代码]
int InitStack(Stack * S,int n) / * 创建容量为n的空栈 */
S->elem=(int *)malloc(n * sizeof(int));
if(S->elem==NULL)return-1;
S->max=n; (1) =O;return 0;

int Push(Stack * S,int item) / * 将整数item压入栈顶 * /
if(S->top==S->max) printf(“Stack is full! /n”);return-1;
(2) =item;return 0;

int StackEmpty(StackS) return (! S.top) 1:0; / * 判断栈是否为空 * /
int Pop(Stack *S ) / * 栈顶元素出栈 * /
if(! S->top)printf(“Pop an empty stack! /n”);return-1;
return (3)

void MultibaseOutput(long n,int B)

[简答题]

试题六
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图6-1所示。
采用状态(State)模式来实现该纸巾售卖机,得到如图6-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图6-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。
[Java代码]
import java.util.*;
interface State {
public void insertQuarter( ); //投币
public void ejectQuarter( ); //退币
public void turnCrank( ); //按下“出纸巾”按钮
public void dispense( ); //出纸巾
}
class TissueMachine { (1) soldOutStater noQuarterState, hasQuarterState,
soldState,state;
state - soldOutState;
int count=0; //纸巾数
public TissueMachine (int numbers) { /*实现代码省略*/}
public State getHasQuarterState( ) { return hasQuarterState; } public State getNoQuarterState( ) { return noQuarterState; } public State getSoldState( ) { return soldState; }
public State getSoldOutState( ) { return soldOutState; }

[简答题]

试题2
阅读下列函数说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
函数说明
函数sort(iraa[],int n)的功能是对数组a中的a[0]~a[n-1]这n个元素进行排序。排序过程如下:第一趟对所有的偶数下标p,比较a[p]和a[p+1],若a[p]>a[p+1],则将两者交换;第二趟对所有的奇数下标q,比较a[q]和a[q+1),若a[q]>a[q+1),则将两者交换;第三趟对偶数下标,第四趟对奇数下标,……,依次类推,直至整个数组元素有序排列为止。
函数
void sort(iht a[],iht n)
{
int i,j,t,tag=1;
for(j=0;j<n;j++){
for(i= (1) ;i<n-1; (2) ){
if (a[i]>a[i+1])t=a[1];a[i]=a[i+1);a[i+1]=t;tag=0;}
}
tag++;
if( (3) ) break;
}
}
对包含十个元素的数组a采用上述方法排序时,元素间的比较次数最少为 (4) 次,最多为 (5) 次。
 


[简答题]

阅读下列说明和C++程序,将应填入横线处的语句写在答题纸的对应栏内
[程序6说明]
C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。
[程序6]
#include<ioStream.h>
template<class T>class Array;
template<class T>class ArrayBody{
friend (1)
T* tpBody;
int iRows,iCurrentRow;
ArrayBOdy(int iRsz,int iCsz){
tpBody= (2)
iRows=iRsz,iColumns=iCsz;iCurrentRow=-1;
}
public:
T& operator[](int j) {
bool row_error,column_error;
row_error=column_error=false;
try{
if(iCurrentRow<0||iCurrentRow≥iRows)
row_error=;
if(j<0|| j≥iColumns
column_error=;
if(row_error==true || column_error==true)
(3)
}
eatch(char) {
if(row error==true)
cerr<<“行下标越界[“<<iCurrentRow<<”]”;
if(column error==true)
cerr<<“列下标越界[“<<j<<”]”;
cout<<“/n&rdquo

[简答题]

试题四
阅读下列说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
设某一机器由n个部件组成,每一个部件都可以从m个不同的供应商处购得。供应商j供应的部件i具有重量wij和价格cij。设计一个算法,求解总价格不超过上限cc的最小重量的机器组成。
采用回溯法来求解该问题:
首先定义解空间。解空间由长度为n的向量组成,其中每个分量取值来自集合{1,2, ,m),将解空间用树形结构表示。
接着从根结点开始,以深度优先的方式搜索整个解空间。从根结点开始,根结点成为活结点,同时也成为当前的扩展结点。向纵深方向考虑第一个部件从第一个供应商处购买,得到一个新结点。判断当前的机器价格(c11)是否超过上限(cc),重量(w11)是否比当前已知的解(最小重量)大,若是,应回溯至最近的一个活结点;若否,则该新结点成为活结点,同时也成为当前的扩展结点,根结点不再是扩展结点。继续向纵深方向考虑第二个部件从第一个供应商处购买,得到一个新结点。同样判断当前的机器价格(c11+c21)是否超过上限(cc),重量(w11+w21)是否比当前已知的解(最小重量)大。若是,应回溯至最近的一个活结点;若否,则该新结点成为活结点,同时也成为当前的扩展结点,原来的结点不再是扩展结点。以这种方式递归地在解空间中搜索,直到找到所要求的解或者解空间中已无活结点为止。
[C代码]
下面是该算法的C语言实现。
(1)变量说明
n:机器的部件数
m:供应商数
cc:价格上限
w[][]:二维数组,w[i][j]表示第j个供应商供应的第i个部件的重量
c[][]:二维数组,c[i]D]表示第j个供应商供应的第i个部件的价格 bestW:满足价格上限约束条件的最小机器重量
bestC://最小重量机器的价格
bestX[]:最优解,一维数组,bestX[i]表示第i个部件来自哪个供应商 cw:搜索过程中机器的重量
cp:搜索过程中机器的价格
x[]:搜索过程中产生的解,x[i]表示第i个部件来自哪个供应商
i:当前考虑的部件,从0到n-1
j:循环变量

[简答题]试题六 阅读下列函数说明和C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 [函数6 说明] 函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A 中关键码为key1 的结点开始的len 个结点,按原顺序移至线性表B 中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La 为表A 的头指针,Lb 为表B 的头指针。单链表结点的类型定义为: typedef struct node { int key; struct node *next; }*LinkedList; [函数6] int DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len) { LinkedList p,q,s,prep,pres; int k; if (!La->next||!Lb->next||len <= 0 ) return -1; p = La->next; prep = La; while ( p && p->key != key1 ) { /*查找表A 中键值为key1 的结点*/ prep = p; p = p->next; } if (!p) return -1; /*表A 中不存在键值为key1 的结点*/ q = p; k = 1; while (q && (1) ) { /*在表A 中找出待删除的len 个结点*/ (2) ; k++; } if (!q) return -1; /*表A 中不存在要被删除的len 个结点*/ s = Lb->next; (3) ; while (s && s->key != key2) { /*查找表B 中键值为key2 的结点*/ pres = s; s = s->next; } if (!s) return -1; /*表B 中不存在键值为key2 的结点*/ (4) = q->next; /*将表A 中的len 个结点删除*/ q->next
[简答题]试题二 阅读下列函数说明和C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 [函数2.1 说明] 函数palindrome(char s[])的功能是:判断字符串s 是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。 [函数2.1] int palindrome(char s[]) { char *pi, *pj; pi = s; pj = s+strlen(s)-1; while ( pi < pj && (1) ) { pi++; pj--; } if ( (2) ) return -1; else return 0; } [函数2.2 说明] 函数f(char *str,char del)的功能是:将非空字符串str 分割成若干个子字符串并输出,del 表示分割时的标志字符。 例如若str 的值为“33123333435”,del 的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。 [函数2.2] void f(char *str,char del) { int i, j, len; len = strlen(str); i = 0; while( i < len ){ while( (3) ) i++; /*忽略连续的标志字符*/ /*寻找从str[i]开始直到标志字符出现的一个子字符串*/ j = i + 1; while(str[j] != del && str[j] != ′/0′) j++; 4) = ′/0′; /*给找到的字符序列置字符串结束标志*/ printf("%s/t", &str[i]); 5) ; } }

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码