【其它】任务三:实现统计字符数量功能关键算法并绘制流程图(30 分) 对于给定的一个字符串,统计其中数字字符出现的次数。 要求:字符串只能由数字和字符组成。

题目

【其它】任务三:实现统计字符数量功能关键算法并绘制流程图(30 分) 对于给定的一个字符串,统计其中数字字符出现的次数。 要求:字符串只能由数字和字符组成。


相似考题
更多“【其它】任务三:实现统计字符数量功能关键算法并绘制流程图(30 分) 对于给定的一个字符串,统计其中数字字符出现的次数。 要求:字符串只能由数字和字符组成。”相关问题
  • 第1题:

    在Excel中,为了区别"数字"与"数字字符串",在输入的"数字字符串&quo

    在Excel中,为了区别"数字"与"数字字符串",在输入的"数字字符串"前应加上‘符号以区别”进行关闭文档操作后数字”。()


    参考答案:正确

  • 第2题:

    阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入对应栏内。

    [说明]

    下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。

    设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中,n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在“aaaa”中只出现两次“aa”。

    该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图中,i为字符串A中当前正在进行比较的动态予串首字符的下标,j为字符串B的下标,k为指定关键词出现的次数。

    [流程图]


    正确答案:0-k i+j i+m i+1 i
    0-k i+j i+m i+1 i 解析:本题考查用流程图描述算法的能力。
    在文章中查找某关键词出现的次数是经常碰的问题。例如,为了给文章建立搜索关键词,确定近期的流行语,迅速定位文章的某个待修改的段落,判断文章的用词风格,甚至判断后半本书是否与前半本书是同一作者所写(用词风格是否一致)等,都采用了这种方法。
    流程图最终输出的计算结果K就是文章字符串A中出现关键词字符串B的次数。显然,流程图开始时应将K赋值0,以后每找到一处出现该关键词,就执行增1操作K=K+1。
    因此(1)处应填0→K。
    字符串A和B的下标都是从0开始的。所以在流程图执行的开始处,需要给它们赋值0。接下来执行的第一个小循环就是判断A(i),A(i+1),…,A(i+j-1)是否完全等于B(0),B(1),…,B(m-1),其循环变量j=0,1,…,m-1。只要发现其中对应的字符有一个不相等时,该小循环就结束,不必再继续执行该循环。因此,该循环中继续执行的判断条件应该是A(i+j)=B(j)且jm。只要遇到A(i+j)≠B(j)或者j=m(关键词各字符都己判断过)就不再继续执行该循环了。因此流程图的(2)处应填州i+j。
    许多考生在(2)处填i,当j增1变化后,仍然使用A(i)进行比较就不对了。因此,在检查循环程序段时应多走查一次循环。
    如果(2)处整体的判断条件不成立,则该判断关键词的小循环结束。此时可能有两种情况。一是在j=0,1,…,m-1时全都成立A(i+j)=B(j)(找到了一处关键词),直到j=m时才结束小循环;二是在jm时就发现了字符不等的情况,这说明此处并不出现关键词。因此流程图中用jm来区分找到与没有找到关键词的两种情况。
    对于j=m,已找到一处关键词的情况,显然应该执行k=k+1,对关键词出现次数的变量k进行增1计算。同时,为了继续进行以后的判断,应将字符串A的下标i右移m(这是因为题中假设关键词的出现不允许重叠)。因此(3)处应填写i+m,表示应该从已出现的关键词后面开始再继续进行判断。由于此时的j=m,书写i+j的答案也是正确的,但这不是程序员的好习惯,因为这不符合逻辑思维的顺势,在程序不断修改的过程中容易出错。不少考生在(3)处填写i+1,这意味着下次判断关键词将从A(i+1)开始,这就使关键词的出现有可能发生部分重叠的现象。
    流程图中,对于jm的情况,表示刚才判断关键词时并非各个字符都完全相同,也就是说,刚才的判断结论是此处并没有出现关键词。即A(i)开始的子串并不是关键词。因此,下次判断关键词应该以A(i+1)开始,即(4)处应填i+1。
    在下次判断关键词之前还应该判断是否全文已经判断完。最后一次小循环判断应该是对A(n-m),A(n-m+1),…,A(n-1)的判断。下标n-m来自从n-1倒数m个数。可以先试验写出A(n-m),A(n-m+1),…,A(n-1),再判断其个数是否为m。经检查,个数为(n-1)-(n-m)+1=m个,所以这是正确的。也可以用例子来检查次数是否正确。检查次数是程序员的基本功,数目的计算很容易少一个或多一个。
    既然最后一次判断关键词应该是对A(n-m),A(n-m+1),…,A(n-1)的判断,即对i=n-m进行的小循环判断,所以当i>n-m时就应该停止大循环,停止再查找关键词了。

  • 第3题:

    下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

    例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。

    请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.c中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)j++或j+=1或++j或j=j+1(2)s[i]=tl[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。【解题思路】填空l:根据函致fun中的内容可知,数组tl存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加l操作。填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=tl[i]。填空3:最后将敦字字符加到s串之后,并且i要小于数字的个数j。

  • 第4题:

    试题一(共15 分 )

    阅读以下说明和流程图,将应填入 (n) 处的字句写在答题纸的对应栏内。

    【 说明 】

    下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。

    设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在“aaaa”中只出现两次“aa”。

    该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图中,i 为字符串 A 中当前正在进行比较的动态子串首字符的下标,j为字符串B 的下标,k为指定关键词出现的次数。


    正确答案:
    试题一参考答案(15分)注意:此题解答中的字母不区分大小写1,0→k,或k←0,或k=0,或等价形式3分2,i+j,或等价形式3分3,i+m或i+j,或等价形式3分4,i+1,或等价形式3分5,i3分

  • 第5题:

    阅读以下说明和流程图,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。
    设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在"aaaa"中只出现两次"aa"。
    该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图中,i 为字符串 A 中当前正在进行比较的动态子串首字符的下标,j为字符串B的下标,k为指定关键词出现的次数。
    【流程图】


    答案:
    解析:

    【解析】

    本题考查用流程图描述算法的能力。
    在文章中查找某关键词出现的次数是经常碰的问题。例如,为了给文章建立搜索关键词,确定近期的流行语,迅速定位文章的某个待修改的段落,判断文章的用词风格,甚至判断后半本书是否与前半本书是同一作者所写(用词风格是否一致)等,都采用了这种方法。
    流程图最终输出的计算结果 k就是文章字符串 A中出现关键词字符串 B的次数。显然,流程图开始时应将 k赋值 0,以后每找到一处出现该关键词,就执行增1操作 k=k+1。因此(1)处应填0→k。
    字符串 A和 B的下标都是从 0开始的。所以在流程图执行的开始处,需要给它们赋值 0。接下来执行的第一个小循环就是判断 A(i),A(i+1),…,A(i+j一1)是否完全等于 B(0),B(1),…,B(m一1),其循环变量j=0,l ,…,m-1。只要发现其中对应的字符有一个不相等时,该小循环就结束,不必再继续执行该循环。因此,该循环中继续执行的判断条件应该是 A(i+j)=B(j)且j许多考生在(2)处填 i,当j 增 1 变化后,仍然使用 A(i)进行比较就不对了。因此,在检查循环程序段时应多走查一次循环。
    如果(2)处整体的判断条件不成立,则该判断关键词的小循环结束。此时可能有两种情况。一是在 j=0,1 ,…,m-1 时全都成立 A(i+j)=B(j)(找到了一处关键词),直到j=m 时才结束小循环;二是在 j对于 j=m,己找到一处关键词的情况,显然应该执行 k=k+1,对关键词出现次数的变量 k进行增 1计算。同时,为了继续进行以后的判断,应将字符串 A 的下标 i右移 m(这是因为题中假设关键词的出现不允许重叠)。因此(3)处应填写 i+m,表示应该从已出现的关键词后面开始再继续进行判断。由于此时的 j=m,书写i+j的答案也是正确的,但这不是程序员的好习惯,因为这不符合逻辑思维的顺势,在程序不断修改的过程中容易出错。不少考生在(3)处填写i+1,这意味着下次判断关键词将从A(i+1)开始,这就 使关键词的出现有可能发生部分重叠的现象。
    流程图中,对于 j在下次判断关键词之前还应该判断是否全文已经判断完。最后一次小循环判断应该是对 A(n-m),A(n-m+1),… ,A(n一1)的判断。下标 n-m来自从 n-1 倒数 m个数。可以先试验写出A(n-m),A(n-m+1),… ,A(n一1),再判断其个数是否为m。经检查,个数为 (n-1)-(n-m)+1=m个,所以这是正确的。也可以用例子来检查次数是否正确。检查次数是程序员的基本功,数目的计算很容易少一个或多一个。 既然最后一次判断关键词应该是对A(n-m),A(n-m+1),… ,A(n一1)的判断,即对 i=n-m进行的小循环判断,所以当 i>n-m 时就应该停止大循环,停止再查找关键词了。

  • 第6题:

    QueryString获取方法、Form获取方法获取的数据子类型分别是:()

    • A、数字、字符串
    • B、字符串、数字
    • C、字符串、字符串
    • D、必须根据具体值而定

    正确答案:C

  • 第7题:

    字符串的isdigit方法可以判断字符串是否为数字。


    正确答案:正确

  • 第8题:

    在Java中,可以用"+"号连接字符串,以下描述错误的是()。

    • A、由于"+"号将几个字符串连接在一起.因此只能使用StringBuffer对象
    • B、如果以字符串开头,那么其后的"+"号都是字符串连接的含义
    • C、+"号只能连接字符串和字符,不能连接数字,否则会造成概念混淆
    • D、通过"+"号可以将不同的字符串/数字/字符连接成一个完整的字符串
    • E、用"+"号连接的字符串可以赋值给String对象

    正确答案:A,C

  • 第9题:

    利用VAL函数实现字符型数据到数值型数据的转换时,要转换的字符串必须全部由数字字符组成,否则将无法转换。


    正确答案:错误

  • 第10题:

    如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?()

    • A、解释器输出一个类型错误
    • B、字符串将被转换成数字,再与整型数字相加
    • C、字符串将被丢弃,只保留整型数字
    • D、字符串和整型数字将连接成一个新字符串
    • E、整形数字将被丢弃,而保留字符串

    正确答案:C

  • 第11题:

    单选题
    如果用+操作符把一个字符串和一个整型数字相加,结果怎样?()
    A

    解释器输出一个类型错误

    B

    字符串将被转成数字,再与整型数字相加

    C

    字符串将被丢弃,只保留整型数字

    D

    字符串和整形数字将连接成一个新字符串


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

  • 第12题:

    单选题
    Request对象的QueryString、Form、Cookies集合获取的数据子类型分别是()。
    A

    数字、字符串、字符串

    B

    字符串、数字、数字

    C

    字符串、字符串、字符串

    D

    必须根据具体值而定


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

  • 第13题:

    以下程序的功能是统计字符串A中出现字符串B的次数,然后输出,请在填空[9]处填入适当的程序完成功能。


    正确答案:InStr(a$bS)或c
    InStr(a$,bS)或c 解析:字符函数InStr()的功能是在第一个字符串参数中寻找第二个字符串参数出现的位置,如果在第一个字符串中不能找到第二个字符串,返回值0。当第一个字符串找到第二个字符串时,则只返回第一次找到的位置。因此,程序中在A中找到一个字符串B后,必须对字符串A进行截取操作,去掉找到的字符串B,不然程序会陷入死循环。

  • 第14题:

    有以下函数

    函数的功能是( )。

    A.统计x和y所指字符串中最前面连续相同的字符个数

    B.查找x和y所指字符串中是否有’\0’

    C.将y所指字符串赋给x所指存储空间

    D.统计x和y所指字符串中相同的字符个数


    正确答案:A
    本题中由循环条件可知,当遇到l\0”’或“x与y所指的字符的值不相等”中的一个条件时就结束循环,因此本题函数的功能是统计x和y所指字符串中最前面连续相同的字符个数。

  • 第15题:

    下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。 例如,若字符串为aaas lkaaas,子字符串为as;则应输出2。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改的程序的结构!


    正确答案:
    【参考答案】

    【考点分析】
    本题考查:for循环语句的格式,for循环语句使用最为灵活,其一般形式为:for(表达式1;表达式2;表达式3),注意表达式之间使用”;”相隔;if条件语句的格式,其中if关键字需要区别大小写,这里不能混淆使用。关键字是由C语言规定的具有特定意义的字符串,也称为保留字。用户定义的标识符不应与关键字相同,并且关键字应小写。
    【解题思路】
    先看循环条件for(i=0,str[i],i++),不难发现此处for循环语句的格式有误,其中表达式之间应以”;”相隔;同时很容易发现if条件语句处的关键字书写错误。

  • 第16题:

    编程. 已知字符串:”this is a test of java”.

    按要求执行以下操作:

    (1) 统计该字符串中字母s出现的次数

    (2) 取出子字符串”test”

    (3) 将本字符串复制到一个字符数组Char[] str中.

    (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。

    (5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)

    (6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台


    答案:
    public class Chap53e {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    //(1)
    String string="this is a test of java";
    char[] s=string.toCharArray();
    int count=0;
    for(int i=0;i
    if(s[i]=='s')
    count++;
    System.out.println("s出现了"+count+"次");
    //(2)
    String str1;
    str1=string.substring(string.indexOf('t', 1), string.lastIndexOf('t')+1);
    System.out.println("子字符串为"+str1);
    //(3)
    char[] str=string.toCharArray();
    String[] str2=string.split(" ");
    //(4)
    for(int i=0;i
    { //方法一
    str2[i]=String.valueOf(str2[i].charAt(0)).toUpperCase()+str2[i].substring(1);
    // 方法二
    str2[i]=str2[i].replaceFirst(String.valueOf(str2[i].charAt(0)), String.valueOf(str2[i].charAt(0)).toUpperCase());
    System.out.print(str2[i]+" ");
    }
    //(5)
    StringBuffer sbf=new StringBuffer("this is a test of java");
    sbf.reverse();
    System.out.println(sbf);
    for(int i=string.length()-1;i>=0;i--)
    System.out.print(string.charAt(i));
    //(6)
    String[] strs3=string.split(" ");
    System.out.println(Arrays.toString(strs3));
    }
    }

  • 第17题:

    Request对象的QueryString、Form、Cookies集合获取的数据子类型分别是()。

    • A、数字、字符串、字符串
    • B、字符串、数字、数字
    • C、字符串、字符串、字符串
    • D、必须根据具体值而定

    正确答案:D

  • 第18题:

    编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复字符出现次数。例如,aaabccdfff,其中a重复出现二次,c重复出现一次,f重复出现二次,共计字符重复五次。


    正确答案: stringi;
    inta=0;
    Console.WriteLine("输入一个字符串");
    i=Console.ReadLine();
    for(intb=1;b<=i.Length-1;b++)
    {
    if(i[b]==i[b-1])
    a++;
    }
    Console.WriteLine("{0}",a);

  • 第19题:

    权限及口令管理中,密码设置应具有一定强度、长度和复杂度并定期更换,要求()。

    • A、长度不得小于8位字符串,但不要求是字母和数字或特殊字符的混合
    • B、长度不得小于8位字符串,且要求是字母和数字或特殊字符的混合
    • C、长度不得大于8位字符串,且要求是字母和数字或特殊字符的混合
    • D、长度不得小于6位字符串,且要求是字母和数字或特殊字符的混合

    正确答案:B

  • 第20题:

    编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。


    正确答案: stringa;
    charb;
    intd=0;
    Console.WriteLine("请输入一个字符串");
    a=Console.ReadLine();
    Console.WriteLine("请输入一个字符");
    b=char.Parse(Console.ReadLine());
    for(intc=0;c<=a.Length-1;c++)
    {
    if(a[c]==b)
    d++;
    }
    Console.WriteLine("字符{0}在字符串{1}中出现了{2}次",b,a,d);

  • 第21题:

    如果用+操作符把一个字符串和一个整型数字相加,结果怎样?()

    • A、解释器输出一个类型错误
    • B、字符串将被转成数字,再与整型数字相加
    • C、字符串将被丢弃,只保留整型数字
    • D、字符串和整形数字将连接成一个新字符串

    正确答案:B

  • 第22题:

    问答题
    阅读以下说明和流程图,将应填入____处的字句写在答题纸的对应栏内。下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在"aaaa"中只出现两次"aa"。该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图8-17中,i为字符串A中当前正在进行比较的动态子串首字符的下标,j为字符串B的下标,k为指定关键词出现的次数。

    正确答案: 0→k(2)i+j(3)i+m(4)1+1(5)i
    解析: 在文章中查找某关键词出现的次数是经常碰到的问题。流程图最终输出的计算结果k就是文章字符串A中出现关键字符串B的次数。显然,流程图开始时应将k赋值0,以后每找到一处出现该关键词,就执行增1操作k=k+1。因此(1)处应填0→k。字符串A和字符串B的下标都是从0开始的。所以在流程图执行的开始处,需要给它们赋值0,接下来执行的第一个小循环就是判断A(i),A(i+1),…,A(i+j-1)是否完全等于B(0),B(1),…,B(m-1),其循环变量j=0,1,…,m-1。只要发现其中对应的字符有一个不相等时,该小循环就结束,不必再继续执行该循环。 因此,该循环中继续执行的判断条件应该是A(i+j)=B(j)且j n-m时就应该停止大循环,停止在查找关键词了。

  • 第23题:

    单选题
    如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?()
    A

    解释器输出一个类型错误

    B

    字符串将被转换成数字,再与整型数字相加

    C

    字符串将被丢弃,只保留整型数字

    D

    字符串和整型数字将连接成一个新字符串

    E

    整形数字将被丢弃,而保留字符串


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

  • 第24题:

    多选题
    在Java中,可以用"+"号连接字符串,以下描述错误的是()。
    A

    由于+号将几个字符串连接在一起.因此只能使用StringBuffer对象

    B

    如果以字符串开头,那么其后的+号都是字符串连接的含义

    C

    +号只能连接字符串和字符,不能连接数字,否则会造成概念混淆

    D

    通过+号可以将不同的字符串/数字/字符连接成一个完整的字符串

    E

    用+号连接的字符串可以赋值给String对象


    正确答案: A,D
    解析: 暂无解析