下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str="ABCDABCD",ch="B",则函数的返回值为:"ACDACD" Function delchar(str As String,ch As String)As String Dim k As Inlegcr,temp As String,ret As String ret="" For k=1 To Len(str) temp=Mid(str,k,1) If temp=ch Then ret=ret

题目

下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str="ABCDABCD",ch="B",则函数的返回值为:"ACDACD" Function delchar(str As String,ch As String)As String Dim k As Inlegcr,temp As String,ret As String ret="" For k=1 To Len(str) temp=Mid(str,k,1) If temp=ch Then ret=ret&temp End If Next k delchar=ret En d Function 但实际上函数有错误,需要修改,下面的修改方案中正确的是( )。

A.把ret=ret&temp改为ret=temp

B.把If temp=ch Then改为If temp<>ch Then

C.把delchar=ret改为delchar=temp

D.把ret=""改为temp=""


相似考题
更多“下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str="ABCDABCD",ch="B",则函数的返回值为:"ACDACD" Function delchar(str As String,ch As String)As String Dim k As Inlegcr,temp As String,ret As String ret="" For k=1 To Len(str) temp=Mid(str,k,1) If temp=ch Then ret=ret”相关问题
  • 第1题:

    下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果,例如:若str=”ABCDABCD”,ch=”B”,则函数的返回值为:”ACDACD”

    Function delchar(str As String,ch As String)As String

    Dim kAs Integer,temp As String,ret As String

    ret=””

    For k=1 To Len(str)

    temp=Mid(str,k,1)

    If temp=ch Then

    ret=ret&temp

    End If

    Next k

    delchar=ret

    End Function

    但实际上函数有错误,需要修改,下面的修改方案中正确的是( )。

    A.把ret=ret&temp改为ret=temp

    B.把If temp=ch Then改为Iftemp<>ch Then

    C.把delchar=ret改为delchar=temp

    D.把ret=””改为temp=””


    正确答案:B
    解析:Mid函数用于提取字符串中的指定位数。Len函数的作用是返回串的长度。本题中,Fork=1 To Len(str),语句的作用是每次循环提取str串中的一个字符,语句temp=Mid(str,k,1)的作用是将提取的字符存入字符变量temp中,然后将temp和用户欲删除的字符做比对,若不同,则将此字符插入的字符串ret的末尾。循环结束ret中保存的就是不包含用户欲删除字符的字符串,也就是题目要求的字符串了。所以选B。

  • 第2题:

    指出下列程序运行的结果public class Example{ String str=newString("good"); char[]ch={'a','b','c'}; public static voidmain(String args[]){ Example ex=new Example();ex.change(ex.str,ex.ch); System.out.print(ex.str+" and ");Sytem.out.print(ex.ch); } public void change(String str,charch[]){ str="test ok"; ch[0]='g'; } } ( )

    AA good and abc

    Bgood and gbc

    Ctest ok and abc

    Dtest ok and gbc


    参考答案B

  • 第3题:

    假定有以下函数过程: Function Fun(S As String) As String Dim s1 As String For i=1 To Len(S) s1 = UCase(Mid(S, i, 1)) +s1 Next i Fun =s1 End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim Str1 As String, Str2 As String Strl = InputBox(“请输入一个字符串”) Str2=Fun(Str1) Print Str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定” 按钮后在窗体上的输出结果为,

    A.abcdefg

    B.ABCDEFG

    C.gfedcba

    D.GFEDCBA


    正确答案:D
    解析:本题主要考查对函数过程的调用,但关键点在于正确理解s1=UCase(Mid(S,i,1))+s1所表达的字符串相加顺序。当输入“abcde龟”后,首先通过Fori循环语句,逐一将该字符串中的字符按照从右往左的顺序变为大写字母后相加,最终结果为Str2="GFEDCBA",故选择D项。做本题时,很容易选B,应加以注意。

  • 第4题:

    执行下面的程序,消息框里显示的结果是 【 】 。

    Private Sub Form_Click()

    Dim Str As String, K As Integer

    Str="ab"

    For k=Len(Str) TO 1 Step-1

    Str=Str & Chr(Asc(Mid(Str,k,1))+k)

    Next k

    MsgBox Str

    End Sub


    正确答案:abdb
    abdb 解析:本题考查VBA程序设计。题目较难,综合性强,要求考生对常用函数以及控制结构有一定的了解。考生应该了解Len()函数是字符串长度检测函数,返回字符串所含字符数。 Chr()函数是字符代码转换字符函数,将数值表达式转换成字符串。Asc()函数是字符串转换字符代码函数,返回字符串首字符的ASCII值。 Mid(字符串表达式>,N1>,N2>)函数是从字符串左边第N1个字符起截取N2个字符。开始Len(Str0=2,Mid(Str,k,1)=Mid(ab,2,1)=b,则Chr(Asc(B) +2)=d,所以循环第1次结束后 Str="abd",同样的第2次循环结束后, Str="abdb",MsSBox用来将Str输出。正确答案为abdb。

  • 第5题:

    请补充函数fun(),该函数的功能是;删除字符数组中小于等于指定字符的字符,指定字符从键盘输入,结果仍保存

    例如,输入“abcdefghij”,指定字符为‘d’,则结果输出“defghij”。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include <stdio. h>

    define N 80

    void fun (char s[], char ch)

    {

    int i=0, j=0;

    while (s [i] )

    {

    if (s Iii<ch)

    【 】;

    else

    {

    【 】

    i++;

    }

    }

    【 】

    }

    main ()

    {

    char str [N], ch;

    clrscr ();

    printf("\n Input a string:\n");

    gets (str);

    printf("\n*** original string ***\n");

    puts (str);

    printf("\n Input a character:\n");

    scanf ("%c", &ch);

    fun(str, ch);

    printf("\n*** new string ***\n");

    puts (str);

    }


    正确答案:i++ s[j++]=s[i] s[j]='\0'
    i++ s[j++]=s[i] s[j]='\0' 解析:第一空:如果当前字符比指定字符小,则什么都不做,通过i++访问下一个字符。第二空,如果当前字符大于等于指定字符,则将它保存在字符数组s中。第三空:通过保存比指定字符大或相等的字符,来实现删除比指定字符小的字符。处理结束后,在字符串s最后要加上结束标记符‘\0’。

  • 第6题:

    请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。

    例如:str1=“How do”,str2=“?od uoy”,结果输出:“How do you do?”。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdio.h>

    include<conio.h>

    define N 40

    void fun(char *str1,char *str2)

    {

    int i=0,j=0,k=0,n;

    char ch;

    char *p1=str1;

    char *p2=str2;

    while(*(p1+i))

    i++;

    while(*(p2+j))

    j++;

    n=【 】;

    for(;k=j/2;k++,j--)

    {

    ch=*(p2+k);

    *(p2+k)=*(p2+j);

    *(p2+j)=ch;

    }

    【 】;

    for(;【 】;i++)

    *(p1+i)=*p2++;

    *(p1+i)='\0';

    }

    main()

    {

    char str1[N],str2[N];

    int m,n,k;

    clrscr();

    printf("***Input the string str1 & str2

    ***\n");

    printf("\nstr1:");

    gets(str1);

    printf("\nstr2:");

    gets(str2);

    printf("***The string str1 & str2 ***\n");

    puts(str1);

    puts(str2);

    fun(str1,str2);

    printf("*** The new string ***\n");

    puts (str1);

    }


    正确答案:j-- *(p2+n)='\0' *p2
    j-- *(p2+n)='\0' *p2 解析:第一空:while循环执行后,变量j中保存了字符串str2的长度,而后面的for循环是将字符串str2倒置,即将第一个字符与最后一个字符对调,第二个字符与倒数第二个字符对调,如此循环直到中间的字符。第一次执行循环时,*(p2+j)指向最后一个字符,所以j要减1,并将未减1之前的数赋给n。第二空:将字符串str2倒置后,在字符串的最后要加上结束标记符,'\0'。第三空:当*p2所指的字符为,'\0'时,说明已经将倒置后的字符串str2都接在字符串str1后面了,for循环应该结束。当*p2所指的为其他字符时,for循环要继续执行。

  • 第7题:

    指出下列程序运行的结果 ( ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.otr,ex.ch); System.out.print(ex.str+"and"); System.out.print(ex.ch); } public void change(String str,char ch[])} str="test ok"; ch[0]≈'g'; } }

    A.good and abc

    B.good and gbc

    C.test ok and abc

    D.test ok and gbc


    正确答案:B

  • 第8题:

    假定有以下函数过程: Function Fun(S As String) As String Dim s1 As String For i=1 To Len(S) s1=UCase(Mid(S,i,1))+s1 Next i Fun=S1 End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click( ) Dim Str1 As String,Str2 As String Str1=Input Box(“请输入一个字符串”) Str2=Fun(Str1) Print Str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为

    A.abederg

    B.ABCDEFG

    C.gfedcba

    D.GFEDCBA


    正确答案:D
    解析:在于正确理解s1=UCase(Mid(S,i,1))+sI所表达的字符串相加顺序。当输入“abcdefs”后,首先通过Fori循环句,逐一将该字符串中的字符按照从右往左的顺序变为大写字母后相加,最终结果为Str2:“GFEDCBA”,故选择D项。

  • 第9题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include <stdio.h> #include <string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为( )。

    A.abcd

    B.abba

    C.abc

    D.baca


    正确答案:B
    解析:本题考查返回指针值的函数。一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据,即地址。函数strcmp(字符串1,字符串2)的作用是比较字符串1和字符中2。如果字符串1=字符串2,函数值为0;如果字符串1,字符串2,函数值为一正整数;如果字符串1字符串2,函数值为一负整数。本题程序中scmp函数的作用是比较s1和s2的大小,对strcmp函数的返回值进行判断,如果字符串1字符串2,则返回字符串1的值,反之返回字符串2的值。所以main函数中scmp(str[0],str[1])的返回值是abba,通过strcpy函数把返回值abba复制到string中。当执行scmp(string,str[2])时,scrap函数的返回值为abba,再次复制到string中,最后string的值为abba。

  • 第10题:

    Visual Basic.NET中,字符串处理函数中返回Str字符串的长度的是()。

    • A、Mid(Str,Start,Lengh)
    • B、Len(Str)
    • C、Instr(Star,String1,String2,Compare)
    • D、Ltrim(Str)

    正确答案:B

  • 第11题:

    单选题
    要声明一个长度为256个字符的定长字符串变量str,下列语句正确的是()
    A

    dim str as string

    B

    dim str as string(256)

    C

    dim str as string[256]

    D

    dim str as string*256


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    若有定义语句:char str1[] = "string", str2[8], *str3, str4[10] = "string";库函数strcpy的功能是复制字符串,以下选项中错误的函数调用是(  )。
    A

    strcpy(str3, "HELLO!");

    B

    strcpy(str2, "HELLO!");

    C

    strcpy(str1, "HELLO!");

    D

    strcpy(str4, "HELLO!");


    正确答案: A
    解析:
    题目中字符指针str3,没有为指针开辟内存,不能作为函数参数。答案选择A选项。

  • 第13题:

    请补充main函数,该函数的功能是:把字符串str中的字符向前移动一位,原来的第一个字符移动到字符串尾,结果仍然保存在原字符串中。

    例如,输入“how do you do?”,则结果输出“ow do you do?h”。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。

    试题程序:

    include <stdio. h>

    define N 80

    main()

    {

    char str[N], ch;

    int i;

    clrscr ();

    printf("\n Input a string:In");

    gets (str);

    printf("\n*** original string ***In");

    puts (str);

    ch=str [0];

    for (i=0;【 】; i++)

    str [i]=str [i+1];

    【 】;

    printf("\n *** new string ***\n");

    puts (str);

    }


    正确答案:str[i+1 str[i]=ch
    str[i+1 str[i]=ch 解析:第一空:for循环的条件是要移动的字符不为'0',即还没有到字符串的最后一个字符。第二空:ch中保存了字符串的第一个字符,按题目要求移动到字符串尾,而str[i]是'\0'的前一个字符,也就是字符串尾,故将ch赋给str[i]。

  • 第14题:

    请补充函数fun(),该函数的功能是:把字符串str中的字符按字符的ASCⅡ码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

    例如,如果输入“cdefgh”,则输出为“hgfedc”。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include <stdio.h>

    define N 80

    void fun (char s [], int n)

    {

    int i, j;

    char ch;

    for (i=0; i<n; i++)

    for(j=【 】;j<n;j++)

    if (s[i]<s [j])

    {

    ch=s [j];

    【 】;

    s [i] =ch;

    }

    main ( )

    {

    int i=0, strlen=0;

    char str [N];

    clrscr ();

    printf ("\nInput a string: \n");

    gets (str);

    while (str [i] !=' \0')

    {

    strlen++;

    i++;

    }

    fun (str, strlen);

    printf ("\n***display string ***\n");

    puts (str);

    }


    正确答案:I s[j]=s[i]
    I s[j]=s[i] 解析:第一空:本题采用选择法进行排序。选择法的算法思路是:如果有n个数则从头到倒数的第2个数一个一个往后走动,每走动一个数总是将这个数与其后的所有数进行两两比较,在比较时按题目要求的顺序将进行比较的这两个数排序 (即交换)。理解了选择法的思路,则此空就非常简单了,应该填i。第二空:借助第三个变量交换两数的方法,非常重要也非常基础,必须要求掌握。

  • 第15题:

    以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。

    A.abed

    B.abba

    C.abc

    D.abca


    正确答案:B

  • 第16题:

    设窗体上有text1文本框和Command1命令按钮,并有以下程序:

    Private Sub Command1_Click()

    Temp$=””

    For k=1 to len(text1)

    Ch$=mid(text1,k,1)

    If not found(temp,ch)then

    Temp=temp&【13】

    End If

    Next k

    Text1=【14】

    End Sub

    Private function found(str as string,ch as string)as Boolean

    For k=1 to len(str)

    If ch=mid(str,k,1)then

    Found=【15】

    Exit function

    Next k

    Found=false

    End function

    运行时,在文本框中输入 若干英文字母,然后单击命令按钮,则可以删去文本框中所有重复的字母,例如,若文本框中原有字符串为“abcddbbc”则单击命令按钮后文本框中字符串为“abcd”,其中函数found的功能是判断字符串str中是否有字符ch,若有,函数返回true,否则返回false。请填空


    正确答案:
    【答案】:【13】ch
    【知识点】:Mid()函数的用法以及字符串连接的方法
    【解析】:ch中存放的是从文本框中取出的一个字符,如果它还没有出现在temp中,则将它连接在temp的后面。
    【答案】:【14】temp
    【知识点】:文本框显示内容的方法
    【解析】:temp中存放了所有不重复的字符,是我们所需要的内容,因此最后将它显示在文本框中。
    【答案】:【15】True
    【知识点】:函数返回值的用法
    【解析】:found函数是判断某个字符是否在某个字符串中,如果是则返回True,如果不是则返回False。

  • 第17题:

    执行下面的程序,消息框里显示的结果是( )。

    Private Sub Form_Click()

    Dim Str As String,S As String,k As Integer

    S=Str

    For k=Len(Str) To 1 Step -1

    S=S & (Mid(Str,k,1)

    Next k

    End Sub


    正确答案:abccba
    abccba

  • 第18题:

    请补充函数fun(),该函数的功能是:把一个字符串中的字符(字母)按从小到大排序,并把这个全部由字母组成的字符串保存在原串中,函数返回这个字符串的长度。例如;输入“cixbr2.3”,如果为bcirx,字符串长度为5。

    注意:部分源程序给出如下.

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    include <stdio.h>

    define N 20

    int fun (char *str)

    {

    int i=0,j=0,k=-0,m=0;

    char t;

    char *p=str;

    while(*p)

    {

    if((*p>='A'&&*p<='Z')||(*p>='a'

    &&*p<='z'))

    【 】

    p++;

    }

    *(str+i)='\0';

    【 】;

    while(*(p+j))

    {

    k=j;

    【 】;

    while (*(p+k))

    {

    if(*(p+k)<*(str+m)

    {

    t=*(str+m);

    *(str+m)=*(p+k);

    *(p+k)=t;

    }

    k++;

    }

    j++;

    }

    return i; }

    main()

    {

    char str[81];

    iht n;

    clrscr();

    printf("Input the original string ");

    gets(str);

    printf("*** The Original string ***In");

    puts(str);

    printf("*** The nwe string ***\n");

    n=fun(str);

    puts(str);

    printf("***The length of new string is:

    %d***\n",n);

    }


    正确答案:*(str+i++)=*p p=str m=j
    *(str+i++)=*p p=str m=j 解析:第一空:将字符串中的字母字符存入原字符串str中,通过变量i的自加逐一向后移动字符串指针。第二空:从后面的程序中可以看出,通过指针p对字符串进行排序,所以应使指针p指向字符串str的首部,即将字符串str的首地址赋给p。第三空:本题采用选择法对字符串进行排序,选择法的思路是,假设从小到大排序,依次用当前取得的元素和它后面的所有元素进行比较,在第一个元素和它后面的元素顺次比较时,可以借助中间变量来对两数进行交换,要保证这第一个元素始终存放数组中的最小数,以后依次挑出次小数,这样最终的数组就是按从小到大的顺序排列。此处要将变量j的值赋给m。

  • 第19题:

    下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str="ABCDABCD",ch="B",则函数的返回值为:"ACDACD"

    Function delchar(str As String,ch As String)As String

    Dim k As Inlegcr,temp As String,ret As String

    ret=""

    For k=1 To Len(str)

    temp=Mid(str,k,1)

    If temp=ch Then

    ret=ret&temp

    End If

    Next k

    delchar=ret

    En d Function

    但实际上函数有错误,需要修改,下面的修改方案中正确的是( )。

    A.把ret=ret&temp改为ret=temp

    B.把If temp=ch Then改为If temp<>ch Then

    C.把delchar=ret改为delchar=temp

    D.把ret=""改为temp=""


    正确答案:B
    B。【解析】Mid函数用于提取字符串中的指定位数。Len函数的作用是返回串的长度。本题中,Fork=1ToLen(str),语句的作用是每次循环提取str串中的一个字符,语句temp=Mid(str,k,1)的作用是将提取的字符存入字符变量temp中,然后将temp和用户欲删除的字符做比对,若不同,则将此字符插入的字符串ret的末尾。循环结束ret中保存的就是不包含用户欲删除字符的字符串,也就是题目要求的字符串了。所以选B。

  • 第20题:

    执行下面的程序,单击窗体后窗体消息框内显示结果是( )。 PRIVATE SUB FORM_CLICK() DIM STR AS STRING, K AS INTEGER STR="AB" FOR K = LEN(STR) TO 1 STEP -1 STR=STR&CHR(ASC(MID(STR, K, 1)) +K) NEXT K MSGBOX STR END SUB

    A.ABCE

    B.ABCD

    C.ABDB

    D.ABFB


    正确答案:C
    解析:对字符串变量STR(初始值为"AB")进行字符追加,分析其中的Len、Chr和Mid三个字符串处理函数后,可以判断出追加的字符是D和B,故答案C正确。

  • 第21题:

    下列程序运行的结果为:

    public class Example{

    String str=new String("good");

    char[] ch={'a','b','c'};

    public static void main(String args[]){

    Example ex=new Example();

    ex.change(ex.str,ex.ch);

    System.out.print(ex.str+" and ");

    Sytem.out.print(ex.ch);

    }

    public void change(String str,char ch[]){

    str="test ok";

    ch[0]='g';

    }

    }

    A. good and abc

    B. good and gbc

    C. test ok and abc

    D. test ok and gbc


    正确答案:B

  • 第22题:

    要声明一个长度为256个字符的定长字符串变量str,下列语句正确的是()

    • A、dim str as string
    • B、dim str as string(256)
    • C、dim str as string[256]
    • D、dim str as string*256

    正确答案:D

  • 第23题:

    单选题
    Visual Basic.NET中,字符串处理函数中返回Str字符串的长度的是()。
    A

    Mid(Str,Start,Lengh)

    B

    Len(Str)

    C

    Instr(Star,String1,String2,Compare)

    D

    Ltrim(Str)


    正确答案: C
    解析: 暂无解析