计算机程序设计

可实现从字符串任意位置截取字符的函数是()。A、InstrB、Mid$C、Left$D、Right$

题目

可实现从字符串任意位置截取字符的函数是()。

  • A、Instr
  • B、Mid$
  • C、Left$
  • D、Right$
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

函数String(n,字符串)的功能是( )。

A.把数值型数据转换为字符串

B.返回由n个字符组成的字符串

C.从字符串中取出n个字符

D.从字符串中第n个字符的位置开始取子字符串


正确答案:B

第2题:

编写算法,实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)


参考答案:本题是字符串的插入问题,要求在字符串s的pos位置,插入字符串t。首先应查找字符串s的pos位置,将第pos个字符到字符串s尾的子串向后移动字符串t的长度,然后将字符串t复制到字符串s的第pos位置后。
  对插入位置pos要验证其合法性,小于1或大于串s的长度均为非法,因题目假设给字符串s的空间足够大,故对插入不必判溢出。
  [算法描述]
  void insert(char *s,char *t,int pos)
  //将字符串t插入字符串s的第pos个位置。
  {int i=1,x=0; char *p=s,*q=t; //p,q分别为字符串s和t的工作指针
  if(pos<1) {cout<<“pos参数位置非法”<  while(*p!=’\0’&&i  //若pos小于串s长度,则查到pos位置时,i=pos。
  if(*p == '/0') { cout<  else //查找字符串的尾
  while(*p!= '/0') {p++; i++;} //查到尾时,i为字符‘\0’的下标,p也指向‘\0’。
  while(*q!= '\0') {q++; x++; } //查找字符串t的长度x,循环结束时q指向'\0'。
  for(j=i;j>=pos ;j--){*(p+x)=*p; p--;}//串s的pos后的子串右移,空出串t的位置。
  q--; //指针q回退到串t的最后一个字符
  for(j=1;j<=x;j++) *p--=*q--; //将t串插入到s的pos位置上
  [算法讨论] 串s的结束标记('\0')也后移了,而串t的结尾标记不应插入到s中。

第3题:

函数String(n,"str")的功能是( )。

A.把数值型数据转换为字符串

B.返回由n个字符组成的字符串

C.从字符串中取出n个字符

D.从字符串中第n个字符的位置开始取子字符串


正确答案:B

第4题:

函数RData实现从文件in.dat中读取一篇英文文章存入到字符串数组original中,请编写函数StrCharMove,其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组0riginal中,最后调用函数 WData,把结果0riginal输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。注意:部分程序已经给出。 请勿改动主函数main、读数据函数RData和输出数据函数WData的内容。


正确答案:
【审题关键句】以行为单位把所有字符的ASCII值右移4位,后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符。
【解题思路】
①首先定义循环变量i、i和表示字符串长度的整型变量strl。
②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于或大于maxline,在循环体中,首先用函数strlen(original[i])计算字符串original[i]的长度,把这个值赋给整型变量strl。在第二层fbr循环中,循环变量j从0开始,依次递增直到其值等于或大于strl,利用表达式0riginal[i][j]+=original[i][j]>>4实现对字符original[i][j]的ASCII码值右移4位后所得到值与原字符original[i][j]的ASCII码值相加,仍存入原字符串对应的位置上的功能。
【参考答案】

第5题:

strchr()函数用来()。

A、字符串连接

B、比较字符

C、求字符位置

D、求子串位置


参考答案:C

第6题:

如下哪个函数可以实现从文本字符串中指定的起始位置起返回指定长度的字符()。

A、Lenb

B、Small

C、Mid

D、Mod


答案:C

第7题:

Instr函数的功能是( )。

A 返回某字符串在另一字符串第一次出现的位置

B 返回某字符串在另一字符串出现的次数

C 返回某字符串在另一字符串中最后一次出现的位置

D 返回某字符串在另一字符串出现的位置


参考答案A

第8题:

函数String(3,”str”)的功能是( )

A.把数值型数据转换成字符串

B.返回有3个字符串组成的字符串

C.从字符串中第3个字符

D.从字符串中第3个字符的位置开始取字符串


正确答案:B

第9题:

函数ReadDat实现从文件in.dat中读取一篇英文文章存入到无符号字符串数组xx中,请编制函数StrCharJL,其函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位二进制位,低位补0,如果左移后,其值小于等于32或大于l00,则原字符保持不变,留在原字符串对应的位置上,否则就把左移后的值再加上原字符的ASCII值,得到新的值仍存入原字符串对应的位置上,之后把已处理的字符串仍按行重新存入无符号字符串数组xx中。最后main函数调用函数 WriteDat把结果xx输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。


正确答案:
【审题关键句】字符的ASCII值左移4位二进制位,低位补0,新值小于等于32或大于100,则原字符保持不变;否则等于左移后的值再加上原字符的ASCII值。
【解题思路】
①定义无符号字符局部变量tmp和循环整型变量i、j。
②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于或大于maxline,实现对文章每行字符串的处理。在第二层for循环中,循环变量j从0开始,依次递增直到其值等于strlen(xx[i]),在循环体中,对字符xx[i][j]的ASCII码值左移4位后所得的值保存到变量tmp,再利用if条件语句判断,如果tmp的值大于32且小于等于100,则把tmp的值与xx[i][j]的值相加之和赋给xx[i][j]。
【参考答案】

第10题:

函数Rdata实现从文件in.dat中读取一篇英文文章存入到字符串数组string中,请编写函数CharLeft,其功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组string中,最后调用函数Wdata,把结果string输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。注意:部分源程序已经给出。 请勿改动主函数main、读数据函数Rdata和输出数据函数Wdata的内容。


正确答案:
【审题关键句】以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。
【解题思路】
①首先定义整型循环变量i、j和表示字符串长度的变量str,以及字符局部变量ch。
②在第一层for循环语句中,循环变量i从0开始,依次递增直到其值等于maxline,在循环体中,首先对字符串string[i]利用库函数strlen求其长度,把此值赋给变量str。在第二层for循环语句中,循环变量j开始0,依次递增直到其值等于str,把字符string[i][j]的ASCII值左移4位后所得到字符赋给变量ch,再用if语句判断ch的值是否大于32并且小于等于100,如果成立,则把ch的值与string[i][j]的值相加,所得的新值保存在string[i][j]中。
【参考答案】

更多相关问题