题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-02-12 00:29:51

[简答题]编写一个函数,从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h> fun(char (*a) [81], int num, char *max)


main ( )

char ss[l0] [81],*ps;
int n, i=0;
clrscr( );
prlntf("输入若干个字符串");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i], "****")==0)
/*用****作为结束输入的标志*/

i++;
gets(ss[i]);
puts(ss[i]);

n=i;
ps=fun(ss,n,&ps);
print~("/nmax=%s/n",ps);

更多"编写一个函数,从传入的num个字符中找出最长的一个字符串,并通过形参指"的相关试题:

[简答题]编写一个函数,从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h> fun(char (*a) [81], int num, char *max)


main ( )

char ss[l0] [81],*ps;
int n, i=0;
clrscr( );
prlntf("输入若干个字符串");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i], "****")==0)
/*用****作为结束输入的标志*/

i++;
gets(ss[i]);
puts(ss[i]);

n=i;
ps=fun(ss,n,&ps);
print~("/nmax=%s/n",ps);

[简答题]编写一个函数,输入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);

[简答题]请编制程序,其功能是:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以00H结束,长度不超过20个字节。
例如:
原字符串为:41H,41H,41H,42H,31H,31H,...,00H(’AAAB11’)
新字符串为:41H,42H,31H,...,00H(’AB1’)
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
LEN EQU 20
DSEG SEGMENT
SOURCE DB LEN DUP( )
RESULT DB LEN DUP(0)
NAME0 DB ’INPUT1.DAT’,0
NAME1 DB ’OUTPUT1.DAT’,0
DSEG ENDS
SSEG SEGMENT STACK
DW 256 DUP( )
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG,DS:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,LEN
[简答题]有一个字符串,包含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;


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

[简答题]常用字符串函数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;

[简答题]请编写函数fun( ),其功能是:将s所指字符串中下标为奇数的字符删除,串中剩余字符形成的新串放在t所指数组中。
例如,当s所指字符串中的内容为siegAHdied,则在t所指数组中的内容应是seAde。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char*s,char t[])

main( )

char s[100],t[100];
clrscr( );
printf("/nPlease enter string s:");
scanf("%s",s);
fun(s,t);
printf("/nThe result is:%s/n",t);

[简答题]请编写函数fun( ),其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
例如,当s所指字符串中的内容为ABCDEFGHIJK,则在t所指数组中的内容应是BDFHJ。
注意:部分源程序给出如下。
请勿改动主函数main口其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio. h>
#include<stdio .h>
#include<string.h>
void fun(char *s,char t[])


main ( )
char s[l00] ,t[l00];
clrscr ( );
printf("%nPlease enter string S: ");
scanf("%s ",s);
fun(s,t);
prlntf("/nThe result is:%s/n ",t);

[填空题]下面程序是把从终端读入的20个字符作为字符串放在字符数组中,然后利用指针变量输出上述字符串,请填空。
#include<stdio.h>
main( )
int i;char s[21],*p;
for(i=0;i<20;i++)
s[i]=getchar( );
s[i]= 【12】 ;
p= 【13】 ;
while(*p) putchar( 【14】 );

[填空题]给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长小于N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#defineM 5
#defineN 20
void fun(char(*ss)[N])

int i,j,k=0,n,m,len;
for(i=0;i<M;i++)

len=strlen(ss[i]);
if(i==0)n=len;
if(len>n)
/********found***********/
n=len;______=i;


for(i=0;i<M;i++)
if(i!=k)

m=n;
len=strlen(ss[i]);
/***********found************/
for(j=______;j>=0;j--)
ss[i][m--]=ss[i][j];
for(j=0;j<n-len;j++)
/************found**************/
______=’*’;


main( )

char ss[M][N]=("shanghai","guangzhou","beijing","tianjin","chongqing";
int i;
printf("inThe original strings are:/n");
for(i=0;i<M;i++)
printf("%s",ss[i]);
printf("in");<

我来回答:

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

订单号:

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