如何怎么重置电脑bios设置BIOS

整型和字符数组之间的转换(略带进制的转化)
C语言和python语言不同,C语言有严格的输入控制,所以类型很清晰,python的类型,一般输入的都是字符串类型的。要用的时候就直接转换一下,很方便。没有太多限制,但是我们在实现C语言类型转换的时候,一个是程序执行的时候有一个隐式的转换,那个是在同一种类型下,比如int 和long的转换,int和double的转换,这种向上的转换,这样的自己帮我们做了。还有一种强制的转换,我们想把float的类型变成int类型的。那就加上一个 (int) 要转换的数 ,我们发现这些是在同时数值情况下的一种转换。C语言里面也有字符类型char,这个类型很灵活,因为在里面没有字符串这个类型,而我们从一个文本里面读取一个数据的时候,往往将读取到的数据保存在一个字符数组里面,然后通过这样的一个处理,将其变成一个字符串的形式。那么当我们想要操作字符串里面的那些个数的时候,要把他们当作数来计算的时候,我们就不能用强制转换这一类的方法了。简化的说就是将字符的类型转换成数字类型,在标准库里面,有一个atoi 的函数,它包含在头文件stdlib.h里面。我们可以调用他,但是我们有时不仅仅是只是要将他转换成int类型,可能还有其他的类型,或是将字符型转换成整型等。下面就是一些具体的函数实现。
我们首先判断,所个的字符串里面的字符是不是在&0&-&9&之间的字符,不是的话,那就没有什么可以转换的必要了,这是一个先决的条件。有了这个的保证,那么我们就是要看这个字符有几位。好比&8024& 四位数,我们知道在10进制中,对应的位置可以用乘上10次幂就好,那么现在们可以这么想,用字符的长度作为循环的条件,对于最高位我们可以将其多次乘上10,就可以做到将数字对到10进制数的对应位置。字符的数字&1&是不可以用作数值1来和整型数运算的,我们同样要转换一下,在ascii码里面,&1&代表是49,&0&代表是48,看出来没? 只要拿字符&1&减去&0&。
函数实现:
&1 int atoi(char s[])
&3 & & & & &int i,n;
&5 & & & & &n = 0;
&6 & & & & &for( i = 0;a[i] &='0' && a[i] &= '9';i++)
&7 & & & & & & n = n * 10 + (s[i] - '0');
&8 & & & & &
看上去很简单的样子,其实这个函数有很多的局限性,比如无法对带符号的字符串进行转换,以及对空格的回车符的处理等,功能还是不太全的,那考虑将他加上去把。那就是加上对符号的判断。这个应该是很好实现的。下面实现下。
&1 int atoi(char s[])
&3 & & & & int i,n,
&4 & & & & for(i = 0; isspace(s[i]);i++)
&5 & & & & & & &;
&6 & & & & sign = (s[i] == '-')? -1:1;
&7 & & & & if(s[i] == '+' || s[i] == '-')
&8 & & & & & &i++;
&9 & & & & for(n = 0; isdigit(s[i]);i++)
10 & & & & & & n = n*10 + (s[i] - '0');
11 & & & & return sign *
在上面的那个函数上,用到了&ctype.h&里面的两个函数,isspace和isdigit 从字面上看的出来,一个是判断空白字符的一个是判断字符数字的。这样可以简化一些代码,功能和第一个函数里面for 的功能一样的。回到这个函数,有了对符号的处理,能够输出一个带符号的数了。这个是在上面的函数上的一个提升,对于哪些恶意的输入,是在没办法识别,比如输入-9 0,这个就不能判断出了,哪有数字是这样的。但是对于数字本身,因为是int类型的,所以数的大小有约束,可以考虑考虑将这边优化下。
同样,我们能将字符类型的转为int的,反过来可不可以?这个必须可以的。我们简单分析下,如果要将一个数字转为一个字符,我们得现将这个数分解出来,把每个位上的数取出来,这个有一个套路的,这边很简单的就可以实现。然后就是对数字的正负符号的一个考虑,这个可以通过判断数的正负来解决。下面就是简单的实现下这个函数。&
&1 &void itoa(int n,char s[])
&3 & & & int i,
&5 & & &if((sign = n) & 0)
&6 & & & & & n = -
&7 & & &i = 0;
&8 & & &do
&9 & & & &{
10 & & & & & & s[i++] = n%10 + '0';
11 & & & &}while((n/=10) & 0);
13 & & &if(sign & 0)
14 & & & & s[i++] = '-';
15 & & &s[i] = '\0';
16 & & &reverse(s); & & //自编函数,实现数组的逆序。在后面实现
& &引入另一个变量,保存原来的数,用来判断正负,对于一开始将n变号的那个操作,是简化了后面循环里面的操作,不然还要判断一下这个数的正负,比较麻烦。最后的那个reverse函数,是将这个数组逆序,我们是将这个数变成了一个字符串,可以简化的用%s将其输出,而我们保存的时候是逆序的就是个位上的数在前面,那就把数组再此逆序,还原成正常的顺序。
& &问题来了,我们发现最小的负数如果用n= -n这个来处理的话,是要出错的,最大的正数(对二补码中)比最小负数的绝对值小1,如果直接转换,那就会出现溢出状况,这个就不是太好的,那就要我们改下,让函数更加的完善。改动的地方就是n=-n,不能这么做了,那就不变,直接拿原来的数操作。我们这边用到宏定义。
解决方案:
&#define abs(x) &((x)& 0? -(x):(x)) & &//n%10的值进行判断,保证是正的。
&void &itoa(int n,char s[])
& & &int i,
& & &sign =
& & &i = 0;
& & & & & s[i++] = abs(n%10) +'0';
& & &}while((n/=10) != 0);
& &if(sign & 0)
& & & &s[i++] = '-';
& & s[i] = '\0';
& &reverse(s);
  通过宏定义的一个绝对值函数,将取位的操作转换为正的,保证程序正确运行。这边也有一个比较重要的一点就是,循环的结束条件,因为有了负数,我们不能再用&&0&来判别结束了,不然就是一个死循环了。改动的也就是这两个部分。这样对对二补码运算的一个支持把。函数到这边了,应该差不多了,不过我们可以再加一个小的功能,控制一个输出,输出的长度。这就多了一个参数。这个改动有一定的好处。下面是改后的代码:
&void &itoa(int n,char s[],int w)
& & &int i,
& & &sign =
& & &i = 0;
& & & & & s[i++] = abs(n%10) +'0';
& & &}while((n/=10) != 0);
& &if(sign & 0)
& & & &s[i++] = '-';
& &while(i & w)
& & & s[i++] = ' ';&
& & s[i] = '\0';
& &reverse(s);
上面也就是更改的地方,很简单的一个操作,作用就是让输出长度可以自己控制。多余的用空格填补在左边。
&既然我们能将十进制的数转换成十进制形式保存在字符中,那么我们能不能将十进制的数转换成16进制,8进制,2进制等等这些常用的进制数呢? 那么我们可以试一下。
itob: 将整数n转换成以b为底的数
分析下,二进制就是0和1表示的,8进制是0开头的,后面的数是0~7表示的,16进制是0~9 a~f表示的。(A~F暂时不考虑)。那么对于前面的几个数还是可以的,都不超过9,但是到了16进制的时候,那个字符部分,我们可以用&a&+多出的数,怎么算多出的数,就是超过10的数,最多超过5,也就是到f。看上去还是不太复杂的。那就可以实现实现了,和上面的itoa那个很相似的。
& & void itob(int n,char s[],int b)
& & & int i,sign,j;
& & & if((sign &= n) & 0)
& & & & & &n = -n; & &//保证是正数。
& & &i = 0;
& & & & & j = n %
& & & & & s[i++] = (j &= 9) ? j+'0' : j+'a' - 10; &//转换过程,一个条件表达式解决。
& & & }while((n/=b) & 0);
& & if(sign & 0)
& & & s[i++] = '-';
& & s[i] = '\0';
& & reverse(s);
& &这就解决了这个问题,我们平时在简单的进制转换的时候基本是也是这个方法,只是在处理十六进制的时候有点复杂,那个a~f和A~F的切换,虽然这两个都是可以代表十六进制的,但是我们还是要完美的实现一下,这边还有一个不足的就是对于8进制的数,前面有一个0开头,16进制的有一个0x开头,这个的实现估计也很简单把,添加相应的条件语句就可以了。
& &说到了进制了,那就将十六进制,这个较为复杂的一个转换成对应的十进制数。通过十六进制的数字组成的一个字符数组来实现下,这个就大大简化了。我们在输入十六进制和八进制的时候是有对应的格式输入的,%i就是可以实现输入。输出就是分别是x或是o格式输出的。忽略前面的符号标志。这个暂且不讨论,要是这么进行转换的话,讨巧的就是利用格式输出。而对于用直接输入通过细节转换的方法,我目前也就想到用我上面说的那个字符数组来实现,对于直接操作十六进制数这个难度有点大。这些不考虑了,就用字符数组来实现把。从屏幕读入十六进制得数,然后进行判断然后转换。下面是实现的代码。
&int htoi(char s[])
& & int & hexdigit, i, flag,n;
& & i = 0;
& & if(s[i] == '0')
& & & & & ++i;
& & & & & if(s[i] == 'x'|| s[i] == 'X')
& & & & & & &++i;
& & &n &= 0;
& & &flag = 1;
& & &for(; flag == 1;++i)
& & & & & if(s[i] &='0' && s[i] &= '9')
& & & & & & & & &hexdigit = s[i]- &'0'; & & &//0~9的情况下
& & & & & else if(s[i] &= 'a' && s[i] &= 'f')
& & & & & & & & &hexdigit = s[i] - 'a' + 10; &//a~f的情况下
& & & & & else if(s[i] &= 'A' && s[i] &= 'F')
& & & & & & & & &hexdigit = s[i] - 'A' +10; &//A~F的情况下
& & & & & else&
& & & & & & & & & flag = 0; & //什么情况都不是,表明不是一个合格的十六进制。直接退出循环。
& & & & & if(flag == 1)
& & & & & & & & n = 16 * n +
& & 利用字符数组就是能够很清晰的将每个部分的情况都能表示的很清楚,如果用直接格式输入的方法,我们比较难的对一个十六进制的数进行操作,如果直接将十六进制除一个十进制数,那么这个十六进制数处理的结果就会很奇怪,我目前是没有想到如何操作十六进制数来实现这个转换,希望能想到的能交流下。
& & 对于其他的进制之间的转换,大体就是根据这样的一个形式来实现了,高位的一般都是要不断的去乘上要转换的数制的大小就好了。上面红色加粗的部分就是这个的关键部分,如何去理解,可以笔算下,这个相当于嵌套着提取公因数的做法。需要多想想。
reverse函数的补充:
& & 前面在整型转换成字符的时候都有一个逆序的操作,我们在存储时是用的逆序存储的,就是高位存储在后面(要对应数组的构造想)。所以我们要想得到正确的答案,难么逆序是必须要做的,对一个字符数组做逆序,一般有两个方法。
方法一:引入另一个数组,但是好理解。我们利用了string.h里面一个函数strlen(),他返回的是数组有效的字符的长度,也就是忽略了最后的'\0'。这个就是让处理变得简单了。
void reverse(char from[],char to[])
& & &int i,j;
& & &j = strlen(from);
& & &for(i = 0;i & strlen(from);i++)
& & & & & to[i] = from[--j];
& & &to[i] = '\0';
方法二:对于方法一,我们可以继续优化下,可以之用到要逆序的数组,而不需要用到另一个数组,还有就是上面的处理还是不到位的,没有对空白字符的处理,'\n'是要放在最后的。所以下面是一个比较完整而且实用的方法
&1 & void reverse(char s[])
&3 & & int i,j,
&4 & & i = 0;
&5 & & while(s[i] != '\0') & &//将i移动到最后
&6 & & & & &++i; &
&7 & & &--i; & & & & & & & & & & & //看倒数第二个是不是换行符
&8 & & if(s[i] == '\n')
&9 & & & & --i; & & & & & & & & & //是的话就向前一个。
10 & & j = 0;&
11 & & while(j & i) & & & & & //排除了最后的&无效&字符,将前面的数对调,这个操作应该很熟悉的
13 & & & & temp = s[j];
14 & & & & s[j] & &= s[i];
15 & & & & s[i] & &=
说了这么多,也就是为了说明一下,在自己实现类型转换的时候能够更加的有选择性,附带提到的进制转换也是比较常用的。这些基础的内容,个人感觉还是弄的比较清楚比较好的。37103人阅读
C/C++(27)
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:
&&& # include &stdio.h&&&& # include &stdlib.h&
&&& void main (void)&&& {&&& int num = 100;&&& char str[25];&&& itoa(num, str, 10);&&& printf("The number &num& is %d and the string &str& is %s. " ,&&& num, str);&&& }
&&& itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制...&&& itoa并不是一个标准的C函数,它是特有的,如果要写跨平台的程序,请用sprintf。&&& 是平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:
&&& char str[255];&&& sprintf(str, "%x", 100); //将100转为16进制表示的字符串。
函数名: atol
  功 能: 把字符串转换成长整型数
  用 法: long atol(const char *nptr);
  程序例:
#include &stdlib.h&
  #include &stdio.h&
  int main(void)
  char *str = "";
  l = atol(str); /* 原来为l = atol(lstr); */
  printf("string = %s integer = %ld/n", str, l);
  return(0);
  atol(将字符串转换成长整型数)
  相关函数 atof,atoi,strtod,strtol,strtoul
  表头文件 #include&stdlib.h&
  定义函数 long atol(const char *nptr);
  函数说明 atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。
  返回值 返回转换后的长整型数。
  附加说明 atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
  范例 /*将字符串a与字符串b转换成数字后相加*/
  #include&stdlib.h&
  main()
  char a[]=&&;
  char b[]=& &;
  c=atol(a)+atol(b);
  printf(&c=%d/n&,c);
  执行 c=
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:657947次
积分:6907
积分:6907
排名:第2818名
原创:52篇
转载:271篇
评论:41条
(1)(1)(2)(1)(1)(2)(5)(16)(7)(8)(26)(12)(2)(1)(3)(5)(5)(3)(1)(20)(16)(16)(8)(2)(3)(2)(6)(9)(38)(12)(1)(15)(3)(7)(8)(11)(2)(2)(4)(6)(5)(3)(9)(15)C语言实现把字符串转换成整数
@函数名称:&&&&&atol
&&&&&&函数原型:&&&&&long&atol(char&*str)
&&&&&&函数功能:&&&&&将字符串转换成一个长整数
&&&&&&函数返回:&&&&&转换后的数值
&&&&&&参数说明:&&&&&str-待转换为长整型的字符串
&&&&&&所属文件:&&&&&
&&&&&&#include&
&&&&&&#include&
&&&&&&int&main()
&&&&&&&&&&long&l;
&&&&&&&&&&char&*str&="";
&&&&&&&&&&l=atol(lstr);
&&&&&&&&&&printf("string=%s&integer=%ld",str,l);
&&&&&&&&&&return(0);
把字符串转换成整数&收藏&
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。&分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。
首先我们分析如何完成基本功能,即如何把表示整数的字符串正确地转换成整数。还是以"345"作为例子。当我们扫描到字符串的第一个字符'3'时,我们不知道后面还有多少位,仅仅知道这是第一位,因此此时得到的数字是3。当扫描到第二个数字'4'时,此时我们已经知道前面已经一个3了,再在后面加上一个数字4,那前面的3相当于30,因此得到的数字是3*10+4=34。接着我们又扫描到字符'5',我们已经知道了'5'的前面已经有了34,由于后面要加上一个5,前面的34就相当于340了,因此得到的数字就是34*10+5=345。
分析到这里,我们不能得出一个转换的思路:每扫描到一个字符,我们把在之前得到的数字乘以10再加上当前字符表示的数字。这个思路用循环不难实现。
由于整数可能不仅仅只含有数字,还有可能以'+'或者'-'开头,表示整数的正负。因此我们需要把这个字符串的第一个字符做特殊处理。如果第一个字符是'+'号,则不需要做任何操作;如果第一个字符是'-'号,则表明这个整数是个负数,在最后的时候我们要把得到的数值变成负数。
接着我们试着处理非法输入。由于输入的是指针,在使用指针之前,我们要做的第一件是判断这个指针是不是为空。如果试着去访问空指针,将不可避免地导致程序崩溃。另外,输入的字符串中可能含有不是数字的字符。每当碰到这些非法的字符,我们就没有必要再继续转换。最后一个需要考虑的问题是溢出问题。由于输入的数字是以字符串的形式输入,因此有可能输入一个很大的数字转换之后会超过能够表示的最大的整数而溢出。
现在已经分析的差不多了,开始考虑编写代码。首先我们考虑如何声明这个函数。由于是把字符串转换成整数,很自然我们想到:
int&StrToInt(const&char*&str);
这样声明看起来没有问题。但当输入的字符串是一个空指针或者含有非法的字符时,应该返回什么值呢?0怎么样?那怎么区分非法输入和字符串本身就是”0”这两种情况呢?
接下来我们考虑另外一种思路。我们可以返回一个布尔值来指示输入是否有效,而把转换后的整数放到参数列表中以引用或者指针的形式传入。于是我们就可以声明如下:
bool&StrToInt(const&char&*str,&int&&num);
这种思路解决了前面的问题。但是这个函数的用户使用这个函数的时候会觉得不是很方便,因为他不能直接把得到的整数赋值给其他整形变量,显得不够直观。
前面的第一种声明就很直观。如何在保证直观的前提下当碰到非法输入的时候通知用户呢?一种解决方案就是定义一个全局变量,每当碰到非法输入的时候,就标记该全局变量。用户在调用这个函数之后,就可以检验该全局变量来判断转换是不是成功。
下面我们写出完整的实现代码。参考代码:
enum&Status&{kValid&=&0,&kInvalid};
int&g_nStatus&=&kV
///////////////////////////////////////////////////////////////////////
//&Convert&a&string&into&an&integer
///////////////////////////////////////////////////////////////////////
int&StrToInt(const&char*&str)
&&&&&&&g_nStatus&=&kI
&&&&&&long&long&num&=&0;
&&&&&&if(str&!=&NULL)//至少保证字符串不为空
&&&&&&&&&&&&const&char*&digit&=&//用了一下中间变量,保存原始字符串,防止被破坏
&&&&&&&&&&&&//&the&first&char&in&the&string&maybe&'+'&or&'-'
&&&&&&&&&&&&bool&minus&=&
&&&&&&&&&&&&if(*digit&==&'+')//通过第一个字符判断是正是负
&&&&&&&&&&&&&&&&&&&digit&++;
&&&&&&&&&&&&else&if(*digit&==&'-')
&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&digit&++;
&&&&&&&&&&&&&&&&&&&minus&=&
&&&&&&&&&&&&&}
&&&&&&&&&&&&//&the&remaining&chars&in&the&string
&&&&&&&&&&&&while(*digit&!=&'\0')//字符串结束标志
&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&if(*digit&&=&'0'&&&&*digit&&=&'9')
&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&num&=&num&*&10&+&(*digit&-&'0');
&&&&&&&&&&&&&&&&&&&&&&&&//&overflow&&
&&&&&&&&&&&&&&&&&&&&&&&&if(num&&&std::numeric_limits::max())//整数溢出的情况
&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&num&=&0;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&&digit&++;
&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&//&if&the&char&is&not&a&digit,&invalid&input
&&&&&&&&&&&&&&&&&&else
&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&num&=&0;
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&}
&&&&&&&&&&&&if(*digit&==&'\0')
&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&g_nStatus&=&kV
&&&&&&&&&&&&&&&&&&if(minus)
&&&&&&&&&&&&&&&&&&&&&&&&&num&=&0&-#//转化为负数的方式
&&&&&&&&&&&&&}
&&&&&&&return&static_cast(num);
讨论:在参考代码中,我选用的是第一种声明方式。不过在面试时,我们可以选用任意一种声明方式进行实现。但当面试官问我们选择的理由时,我们要对两者的优缺点进行评价。第一种声明方式对用户而言非常直观,但使用了全局变量,不够优雅;而第二种思路是用返回值来表明输入是否合法,在很多API中都用这种方法,但该方法声明的函数使用起来不够直观。
最后值得一提的是,在C语言提供的库函数中,函数atoi能够把字符串转换整数。它的声明是int&atoi(const&char&*str)。该函数就是用一个全局变量来标志输入是否合法的
已投稿到:君,已阅读到文档的结尾了呢~~
利用此函数实现字符型的数字串转换为数值型的数字。方便有效
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言中将字符型数字串转换为数值型数字
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口> 问题详情
C语言中最简单的数据类型包括()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整
悬赏:0&答案豆
提问人:匿名网友
发布时间:
C语言中最简单的数据类型包括()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型请帮忙给出正确答案和分析,谢谢!
为您推荐的考试题库
网友回答(共2条)
匿名网友&&&&lv1&&&&提问收益:0.00&答案豆
匿名网友&&&&lv1&&&&提问收益:0.00&答案豆
您可能感兴趣的试题
1在以下一组运算符中,优先级最高的运算符是(&&)A.<=B.=C.%D.&&2下列叙述中,正确的一条是(&&)A.语句"goto 12;"是合法的B.for(;;)语句相当于while(1)语句C.if(表达式)语句中,表达式的类型只限于逻辑表达式D.break语句可用于程序的任何地方,以终止程序的执行3设int a=12,则执行完语句a+=a-=a*a后,a的值是(&&)A.552B.264C.144D.-2644下列选项中均属于C语言合法的标识符的是&&(&&)A.Int #sub breakB._3ab FOR LongC.3a printf a_bD.WORD auto include
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
享三项特权
享三项特权
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码:

我要回帖

更多关于 怎么重置电脑bios设置 的文章

 

随机推荐