题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-10-16 21:59:15

[简答题]【说明】
字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字 符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edlt_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。
【程序】
#include <iostream.h>
#include <stdio.h>
#include <string.h> class string

int length;
char *data;
public:
int get_length( ) return length;
char *get_data( ) return data;
~string( ) delete data;
int set data(int in_length, char *in_data);
int set_data(char *data);
void print( ) cout<<data<<endl;
; class edit_string: public string

int cursor;
public:
int get_cursor( ) return cursor;
void move_cursor(int dis) cursor=dis;
int add_data(string *new_data);
void delete_data(int num);
; int string::set_data(int in_length,char *in_data)

length=in_length;
if(!data)
delete data;
(1)
strcpy(data,in_data);
return length;

int string::set data(char *in_dat

更多"【说明】 字符串在程序设计中扮演着重要角色。现需要设计字符串基类st"的相关试题:

[简答题]有n个字符的字符串,判断字符串是否对称。如xyzzyx和xyzyx都是中心对称的字符串。字符串放在单链、表中,并实现利用栈的入栈和出栈完成判断。
[简答题]【说明】StringEditor类的功能是:已知一个字符串,返回将字符串中的非字母字符都删除后的字符串。
public (1)
public static String removeNonLetters( (2) )
StringBuffer aBuffer= (3) ;
char aCharacter;
for(int i=0; i<original.length( );i++)
aCharacter= (4) ;
if(Character.isLetter(aCharacter))
aBuffer.append( (5) );

return new String(aBuffer);


public class StringEditorTester
public static void main(String args[])
String original="Hi!, My Name is Mark, 234I think you are my classmate!!";
System.out.println(StringEditor.removeNonLetters(original));


[简答题]常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char*append(char*s1,char*s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
char *append(char *s1,char *s2)


void main( )

char *s,*s1,*s2;
s1="this is ";
s2=",a string.";
s=append(s1,s2);
cout<<s<<endl;

[简答题]有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及m值并输出复制结果。
[简答题]有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
#include<iostream>
using namespace std;
void copystr(______)
int n=0;
while(n<m-1)
n++;
p1++;

while(*p1!=’/0’)
*p2=*p1;
p1++;
p2++;

*p2=’/0’;

void main( )
int m;
char str1[20],str2[20];
cout<<"输入字符串1:";
______
cout<<"从第m个字符开始复制,请输入m:";
cin>>m;
if(strlen(str1)<m)
cout<<"输入超过str1的长度"<<endl;
else
copystr(str1,str2,m);
cout<<"复制的字符串是:"<<str2<<endl;


[填空题]下列程序能将字符串s1中的所有与字符串str1相同的子串替换成字符串sb2,并将替换后的新串存于字符数组s2中。
#include<stdio. h>
void replace(s1,s2,str1,str2)
char *s1,*s2,*str1,*str2;
char *t0,*t1,*t2,*x,*y;
x=s1;y=s2;
while( 【8】 )

for(t0=s1,t1=str1; ((*t1!=’/O’&& 【9】 ;t0++,t1++);
if(*t1!=’/0’) *s2++= 【10】 ;
else
for(t1=str2;*t1!=’/0’;) *s2++= 【11】 ;
【12】 ;


*s2=’/0’;

main ( )
static char s1[]="abcdef ababcd abab.",s2125];
replace (s1, s2, "abc", "XYZ");
printf("%s/n",s2);

[简答题]编写一个函数,输入n个字符串,串与串之间以回车键分隔,找出最短字符串中第一个字符串,传回该串地址(用一个新串“*”作为结束输入的标志)。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char*fun(char(*s)[100],int num)


main( )

char str[10][100],*min;
int n,i=0;
FILE*out:printf("input strings with’*’asend:");
gets(str[i]);
strcpy(str[3],"some");
strcpy(str[4],"tool!";
fprintf(out,"%s",fun(str,5));
puts(str[i]);
while(!strcmp(str[i],"*")==0)

i++;
gets(str[i]);
puts(str[i]);
n=1;
min=fun(str,n);
printf("/nmin=%s/n",min);
out=open("outfile.dat","w");
strepy(str[0],"just,");
strcpy(str[1],"a");
strcpy(str[2],"test");
fclose(out);

[简答题]【说明】 本程序可以将字符串s1中出现的所有s2子串替换成s3,形成一个新串,但不破坏字符串s1。 【代码】 #include<stdio.h> #include<stdlib.h> #include<string.h> char*replace(char *s1, char *s2,char *s3) { char *p, *q, *r, *s; int |2,|3, i=0; |2=strlen(s2); |3=strlen(s3); p=s1; while((p=strstr(p,s2))!=NULL) { i++; /* 统计s2串出现的次数*/ (1) ; } i= (2) ; s=r=(char*)malloc(i); /*分配动态内存存放新字符串*/ p=s1; while(1) { q=strstr(p, s2); /* s2串是否在s1中出现,q是首次出现的位置*/ if(q!=NULL) { i=q-p; (3) ; r+=i; (4) ; r+=|3; p=q+|2; /*将指向s1串的指针移到s2子串出现的位置后, 为下一次循环做好准备*/ } else /*q为空,表示剩余的s1串中已经没有s2*/ { (5) ; break; /*终止循环*/ } } return(s); /*返回指向所形成的新串的指针*/ } void main( ) { char *a="sabcababde", *b="ab", *c="efg", *d; d=replace(a, b, c); printf("result=%s/n", d); free(d); }
[简答题]请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以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 ***

[简答题][说明]
这是一个修改字符串的题目,此题中将字符串“hello,I am not a student,I do not like computer!”中的"not"去掉,并在Web页中显示。当离开此Web页时,将自动启动收藏夹。
[HTMI 文本]
<html>
<!--省略部分为HTML 框-->
(1)      //JavaScript 区域开始标识
<!-- //HTML 的注释符
vara="hello,I am not a student,I do not like computer!”;
//定义变量,并赋初值
var b=0
var C="";
if(docurment.all) // 如果是IE浏览器,则执行花括弧内的语句,否则弹出一个警告对
//话框,在对话框中显示“对不起,此Web页无法显示”
while( (2) ) //查找字符串a中是否有not,如果有则将字符串a中的not,去掉,
//然后赋给变量c。
(3) =a.substring(b,a.index Of("not",b))
b+=a.indexOf("not",b)+4:

c+=a.substring( (4) ,a.Length);
window.alen(“单击确定显示修改后的字符串”); //弹出一个警告对话框,在对话框中显示
//“单击确定显示修改后的字符串”
document.write("The final string is:<br>)": //在Web页内输出的字符串,“The final
//string is,并加回车符
document.write(c+"<br>"); //在Web页
[简答题][说明] 这是一个修改字符串的题目,此题中将字符串“hello,I am not a student,I do not likecomputer!”中的“not”去掉,并在Web页中显示。当离开此Web页时,将自动启动收藏夹。 [HTML 文本] <html> <!--省略部分为HTML框--> (1) //JavaScript区域开始标识 <!-- //HTML的注释符 vay a="hello,I am not a student,I do not like computer!" ; //定义变量,并赋初值 vay b=0; vayc=" "; if(docurment.all){ //如果是IE浏览器,则执行花括弧内的语句,否则弹出一个警告对 //话框,在对话框中显示“对不起,此Web页无法显示” while( (2) ){ //查找字符串a中是否有not,如果有则将字符串a中的not,去掉, //然后赋给变量c。 (3) =a.substring(b,a.indexOf("not",b)) b+=a.indexOf("not",b)+4; } c+=a.substring( (4) ),a.length); window.alert(“单击确定显示修改后的字符串”); //弹出一个警告对话框,在对话框中显示 //“单击确定显示修改后的字符串” document.write("The final string is:<br>)";//在Web页内输出的字符串,“The final //string is,并加回车符 document.write(c+"<br>"); //在Web页内输出修改后的字符串,并加回车 } else window.alert(“对不起,此Web页无法显示”) functio
[简答题]编制程序,输入一个字符串,其中只含有英文字母和数字字符,判断该字符串是否是回文,并将该字符串输入文件test5.txt中。
[填空题]以下函数将b字符串连接到a字符串的后面,并返回a中新字符串的长度。 strcen(char aC), char b[]) { int num=0,n=0; while(*(a+num)!= 【14】 ) num++; while(b[n]){*(a+num)=b[n]; num++; 【15】 ;) return(num); }
[填空题]以下函数 sstrcat( )的功能是实现字符串的连接,即将 t 所指字符串复制到 s 所指 字符串的尾部。例如:s 所指字符串为 abcd,t 所指字符串为 efgh,函数调用后 s 所指字符串为 abcdefgh。请填空。 #include void sstrcat(char *s,char *t) { int n; n=strlen(s); while(*(s+n)=_________){s++; t++;} }

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码