更多"字符串中任意个连续的字符组成的子序列称为该串的__________。"的相关试题:
[单项选择]
对于求取两个长度为n 的字符串的最长公共子序列(LCS)问题,利用(57 )策略可以有效地避免子串最长公共子序列的重复计算,得到时间复杂度为O(n2)的正确算法。串<1,0,0,1,0,1,0,1>和<0,1,0,1,1,0,1,1>的最长公共子序列的长度为 (58) 。
(57)处填()。
A. 分治
B. 贪心
C. 动态规划
D. 分支-限界
[简答题]
程序改错
下列程序的功能是:输入一个由ASCII码字符和GB2312字符集中汉字字符组成的字符串后,统计并显示出现次数最多的10个字符及其出现次数。要求:
1.将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;
2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
CLEAR
ACCEPT ’请输入:’ TO cccc &&该语句功能是交互式地输入数据(字符串)
n=LEN(cccc)
IF n=0
RETURN
ENDIF
CREATE CURSOR TEMP (cc c(2),nn i) &&创建临时表存储字符及出现的次数
FOR i=1 TO n
c=SUBS(CCCC,i,1)
IF ASC(c)>127 &&汉字字符
c=SUBS(cccc,i,2)
i=2
ENDIF
LOCATE FOR cc=c
IF EOF( )
INSERT INTO TEMP(cc,nn) VALUE(c,1)
Other
REPLACE nn WITH nn+1
ENDIF
ENDFOR
SELECT TOP 10 cc,nn FROM temp ORDER BY 2 DESC
[填空题]转义字符由______符号开始的单个字符或若干个字符组成。
[简答题]请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以00H结束,长度不超过20个字节。
例如:
原字符串为:4EH,4EH,4EH,42H,1AH,31H,31H,00H:
新字符串为:4EH,42H,1AH,31H,00H
部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1. DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END 之间补充一段源程序,完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。
部分程序如下:
; PROG1. ASM
EXTRN LOAD:FAR,SAVE:FAR
LEN EQU 20
N EQU 10
DSEG SEGMENT
SOURCE DW N DUP ( )
RESULT DW N DUP (0)
NAME0 DB ’INPUT1.DAT’, 0
NAME1 DB ’OUTPUT1.DAT’,0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP ( )
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG;SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***
…………
…………
…………
; *** END ***
[单项选择]字符A、B、C一次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串。
A. 4
B. 6
C. 2
D. 5
[填空题]字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun( ),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 8
int xx[N];
int fun(char *str,int x,int y)
int sum;
int i=0;
char *p=str;
for(i=0; i<N; i++)
xx[i]=0;
sum=*p-’0’;
p++;
while (*p)
sum= 【1】 ;
p++;
i=0;
while(sum!=0)
xx[i]= 【2】 ;
【3】 ;
i++;
return i;
main ( )
char str[6];
int i;
int n;
int x;
int y;
printf("Enter a string made up of ’0’ to
’9’ digits character:");
gets(str);
if(strlen (str) >5)
[填空题]以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。
main( )
char str[51],*sptr;
int i;
for(i=0;i<50;i++)
str[i]=getchar( );if(str [j]==’/n’)______;
str[i]:______;
sptr=str;
while(*sptr)putchar(*sptr______);
[多项选择]从a盘根目录下名为"string. txt"的文本文件读取前20个字符组成字符串在屏幕上显示输出。
[判断题]Excel的字符型数据可以由字母、汉字、数字和其他有效的显示字符组成。( )
[填空题]str为一个字符序列,序列由字符0和1组成。请补充函数 fun( ),该函数的功能是:查找该字符序列中0字符连续出现的最长长度(即0字符的个数),如果有几个0字符串长度相同,只记录最后一个0字符串的相关信息。通过m和k返回最长0字符串的长度和最后0字符的下标。例如,如果输入“01001000”,结果为:0字符串最长长度为3,起始和结尾下标依次为5、7。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define N 80
void fun ( 【1】 )
{
int i, j=0;
int bb[N];
char *p=str;
*m=0;
*k=0;
for(i=0;i<N;i++)
bb[i]=0;
i=0;
while(*(p+i))
{
if(*(p+i)=’0’)
{
【2】
i++;
}
else
{
j++;
i++;
}
if ( 【3】 )
{
*m=bb[j];
*k=i-1;
}
}
}
main( )
{
char str[N];
int m,n,k;
clrscr( );
printf("***input the original string
***/n");
gets(str);
printf("***The Original string ***/n");
puts(str);
fun(str,&m,&k);
printf("/nThe length of ’0’ is :
%d/n",m);
printf("*** The suffix of character
***/n");
printf(" %d,%d",k-m+1,k);
}
[填空题]为一个字符序列,序列由字符0和1组成。请补充函数proc( ),该函数的功能是:查找该字符序列中0字符连续出现的最长长度(即0字符的个数),如果有几个0字符串长度相同,只记录最后一个0字符串的相关信息。通过m和返回最长0字符串的长度和最后0字符的下标。例如,如果输入“01000010000”,结果为,字符串最长长度为4,起始和结尾下标依次为2、5。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#iinclude<stdlib.h>
#iinclude<stdio.h>
#iinclude<conio.h>
#define M 80
void proc ( (1) )
int i, j=0;
int bb[M];
char *p=str:
*m=0;
*k=0;
for(i=0; i<M; i++)
bb[i]=0;
i=0;
while(*(p+i))
if(*(p+i)==’0’)
(2) ;
i++;
else
j++;
i++;
if( (3) )
*m=bb[j];
*k=i-1;
void main( )
char str[M];
int m, k;
system("CLS");
printf("***input the original string***/n");
gets(str);
printf("***The Original string***/n");
puts(str);
proc(str, &m, &k);
printf("/nThe length of ’0’ is: %d/n", m);
printf("***The suffix of character*
[填空题]如果指定某菜单项的名称为“存为(/<S)”,那么,字符S称为该菜单项的______键。
[简答题]给定程序中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
例如,若输入:77777,则输出将是:32767。
请改正程序中的错误,使它能得到正确结果。
[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int fun(char *p)
int n;
/**********found**********/
n=*p-’o’;
p++;
while(*p!=0)
/**********found**********/
n=n*8+*p-’o’;
p++;
return n;
main( )
char s[6]; int i; int n;
printf("Enter a string(Ocatal digits):");
gets(s);
if(strlen(s)>5)
printf("Error: String too longer!/n/n");
exit(0);
for(i=0; s[i]; i++)
if(s[i]<’0’||s[i]>’7’)
printf("Error: %c not is ocatal digits!/n/n", s[i]);
exit(0);
printf("The original string:");
puts(s);
n=fun(s);
printf("/n%s iS convered to integer number: %d/n/n", s, n);