题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-11-02 07:12:06

[简答题]请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以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 ***

更多"请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生"的相关试题:

[简答题]请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以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 ***

[填空题]下列程序能将字符串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);

[填空题]下列程序用来将从键盘上输入的2个字符串进行比较,然后输出2个字符串中第1个不相同字符的ASCII码之差。例如,输入的2个字符串分别为abcdef和abceef,则输出为-1。
#include
main ( )
char str [100], str2 [100], c;
int i,s;
printf("/n input string 1:/n"); gest(str1);
printf("/n input string 2:/n"); gest(str2);
i=0;
while((strl[i]==str2[i]&&(strl[i]!= 【6】 ))
i++;
s= 【7】 ;
printf(.%d/n",s);
[简答题]有n个字符的字符串,判断字符串是否对称。如xyzzyx和xyzyx都是中心对称的字符串。字符串放在单链、表中,并实现利用栈的入栈和出栈完成判断。
[填空题]以下程序的功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码值之差。请填空。
#include"stdio.h"
main( )
char a1[20],a2[20]; int n=0,t;
scanf("%st",a1); scanf("%s",a2);
while(a1[n]!=a2[n]&&(a1[n]!= 【15】 ))
t= 【16】
printf("%d/n",t); n++;
[填空题]字符串"sgabacbadfgbacst"中存在有______个与字符串"ba"相同的子串。
[填空题]下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCⅡ码之差。例如:输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。
#include <stdio.h>
main( )
char str1[100],str2[100],c;
int i,s;
printf("Enter string 1:");gets(str1);
printf("Enter string 2:");gets(str2);
i=0;
while((str1[i]==str2[i]&&str1[i]!=______))
i++;
s=______;
printf("%d/n",s);


[简答题]编写一个方法f3701( ),要求该方法有一个字符串参数s,方法的功能是统计s中连续相同的字符构成的子串的最大长度,方法返回这个最大长度值,若没有,则返回1。例如s="103300002222223333",其中连续相同的字符构成的子串有4个,长度依次为2、4、6、4,则最大长度为6。
[简答题]有一个字符串,包含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;


[简答题]常用字符串函数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个字符串,串与串之间以回车键分隔,找出最短字符串中第一个字符串,传回该串地址(用一个新串“*”作为结束输入的标志)。
注意:部分源程序已给出。
请勿改动主函数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);

[填空题]下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#define N 5
#define M 8
int fun(char (*ss)[M], char *t)
int i;
/******************found*******************/
for(i=0; i<______; i++)
/******************found*******************/
if(strcmp(ss[i], t)==0)
return______;
return(-1);

main( )
char ch[N][M]("if", "while", "switch", "int", "for", t[M];
int n, i;
printf("/nThe original string/n/n");
for(i=0; i<N; i++)puts(ch[i]);
printf("/n");
printf("/nEnter a string for search:");
gets(t);
n=fun(ch, t);
/******************found*******************/
if(n==______)
printf("/nDon’t found!/n");
else
printf("/nThe position is %d./n", n);


[填空题]字符串中任意个连续的字符组成的子序列称为该串的__________。
[填空题]在给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1,ss所指字符串数组中共有N个内容不同的字符串,且串长小于N。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<string.h>
#define N 5
#define M 8
int fun(char(*ss)[M],char *t)
int i:
/**********found**********/
for(i=0;i< (1) ;i++)
/**********found**********/
if(stremp(ss[i],t)==0)return (2)
return -1;

void main( )
char ch[N][M]="f","while","switch","int","for",t[M];
int n,i;
printf("/nThe original stringin/n");
for(i=0;i<N;i++)puts(ch[i]);
printf("/n");
printf("/nEnter a string for search: ");
gets(t);
n=fun(eh,t);
/**********found**********/
if(n== (3) )printf("/nDon’t found!/n");
else printf("/nThe position is%d./n",n);


我来回答:

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

订单号:

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