题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2023-10-10 03:11:51

[简答题]【程序说明】 该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。 【程序】 #include<stdio.h> void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中 { char t,*w; w=c; while( (1) ) {//找到字符串a,b当前字符中较小的字符 if(*a< *b) { t= *a; (2) ; { else if (*a>*b) { t= *b; (3) ; } else //字符串a,b当前字符相等 { t= *a; a++; b++; } if( (4) ) //开始,可直接赋值 *w=t; else if(t!=*w) //如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5) ; } if(*a!=/’/0’) //如果字符串a还没有结束,则将a的剩余部分赋给C while(*a!=’/0’) if(*a!=*w) { *(++w)=*a; a++; } else (6) ; if(*6!=’/0’) //如果字符串b还没有结束,则将b的剩余部分赋给c while(*b!=’/0’) if(*b! = *w) { *(++w)=*b; b++; } else b++; (7) ; } void strsort(char*s) //将字符串S中的字符

更多"【程序说明】 该程序定义了两个子函数strsort和strmerg"的相关试题:

[简答题]【程序说明】
该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。
【程序】
#include<stdio.h>
void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中

char t,*w;
w=c;
while( (1) )
//找到字符串a,b当前字符中较小的字符
if(*a< *b)

t= *a;
(2)

else if (*a>*b)

t= *b;
(3)

else //字符串a,b当前字符相等

t= *a;
a++;
b++;

if( (4) ) //开始,可直接赋值
*w=t;
else if(t!=*w)
//如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5)

if(*a!=/’/0’) //如果字符串a还没有结束,则将a的剩余部分赋给C
while(*a!=’/0’)
if(*a!=*w)

*(++w)=*a;
a++;

else
(6)
if(*6!=’/0’) //如果字符串b还没有结束,则将b的剩余部分赋给c
while(*b!=’/0’)
if(*b! = *w)
[简答题]请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以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 ***

[填空题]

完善下列自定义函彖STR_RV( ),其功能是将一个字符串(假设所有字符均为ASCII和GB2312字符集中的字符)进行"反序"。例如,STR RV("ABCD")的返回值为"DCBA"。
FUNCTION str_rv( )
PARAMETERS cStrl
cStr2="
DO WHILE .T.
c1=LEFT(cStrl,1)
IF ASC(c1)>127 &&AscII码大于127的字符为汉字(c1为半个汉字的机内码)
c1=LEFT(cStrl,2)
ENDIF
cStr2=()。
cStrl=RIGHT(cStr1,LEN(cStr1)-LEN(c1))
IF LEN(cStrl)<=0
()
ENDIF
ENDDO
RETURN cStr2
ENDFUNCTION


[填空题]

完善下列自定义函数STR_RV( ),其功能是将一个字符串(假设所有字符均为ASCII和GB2312字符集中的字符)进行"反序"。例如,STR_RV("ABCD")的返回值为"DCBA"。
【程序清单】
FUNCTION str_rv( )
PARAMETERS c
P=SPACE(O)
DO WHILE LEN(C)>0
x=ASC(())
IF x>127 &&ASCII码值大于127的字符为汉字(x为半个汉字的机内码)
i=2
ELSE
i=1
ENDIF
P=LEFT(C,i)+P
C=SUBSTR(c,i+1)
ENDDO
()
ENDFUNC


[填空题]下面程序的功能是将一个字符串sfr的内容颠倒过来,请填空。
#include<string.h>
main( )
int i,j, (13) ;char str[]="1234567";
for(i=0,j=strlen(str) (14) ;i<j;i++,j--)
k=str[i];str[i]=str[j];str[j]=k;
printf("%s/n",str);

[填空题]下面程序的功能是将一个字符串str的内容倒序。请填空。
#include<string.h>
main( )
int i,j, (14)
char str[]="1234567";
for(i=0,j=strlen(str) (15) ;i<j;i++,j--)k=str[i];str[i]=str[j];str[j]=k;
printf("%s/n", str):


[简答题]【说明】
字符串在程序设计中扮演着重要角色。现需要设计字符串基类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
[填空题]下面程序的功能是将一个字符串str的内容颠倒过来,请填空。
#include<string.h>
main( )
inti,j, 【8】 ;char str[]="1234567";
for(i=0,j=strlen(str) 【9】 ;i<j;i++,j--)
k=str[i];str[i]=str[j];str[j]=k;
printf("%s/n",str);
[填空题]下面程序的功能是将一个字符串str的内容倒序。请填空。
#include<string.h>
main( )
int i,j,
char str[]="1234567";
for(i=0,j=strlen(str) ;i<j;i++,j--)k=str[i];str[i]=str[j];str[j]=k;
printf("%s//n", str):


[填空题]下面程序的功能是将一个字符串str的内容倒序,请填空。
#inelude <stdio.h>
#include <strins.h>
main( )
int i,j,______;
charstr[]="1234567";
for(i=0,j=strlen(str)______;i<j; i++,j--)
k=str[i];str[i]=str[j];str[j]=k;
printf("%s/n",str);

[简答题]请编写一个函数fun( ),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <string.h>
long fun(char *p)


main ( )

char s[6];
long n;
printf("Enter a string:/n");
gets(s);
n=fun(s);
printf("%ld/n",n);

我来回答:

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

订单号:

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