重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 计算机二级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

str为一个字符序列,序列由字符0和1组成。请补充函数 fun(),该函数的功能是:查找该字符序列中0字符

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 (【 】)

{

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')

{

【 】

i++;

}

else

{

j++;

i++;

}

if (【 】)

{

*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);

}

查看参考答案
更多“str为一个字符序列,序列由字符0和1组成。请补充函数 fun(),该函数的功能是:查找该字符序列中0字符”相关的问题

第1题

str为一个字符序列。请补充函数fun(),该函数的功能是:查找str中值为x的元素,返回该字符序列中值为

str为一个字符序列。请补充函数fun(),该函数的功能是:查找str中值为x的元素,返回该字符序列中值为x的元素个数,并把这些值为x的元素下标依次保存在数组bb中。例如,在“abcdefahij”中查找‘a’,结果为:2个‘a’,下标依次为 0、6。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

define N 20

int bb[N];

int fun(char *str,char ch)

{

int i=0, n=0;

char t=ch;

char *p=str;

while(*p)

{

if (【 】)

【 】;

p++;

i++;

}

return【 】;

}

main()

{

char str[N];

char ch;

int i, j,n;

clrscr();

printf("***Input the original string

***\n");

gets(str);

printf("***The Original ***\n");

puts(str);

printf("***Input character ***\n");

scanf("%c",&ch);

n=fun(str,ch);

printf("\nThe numbr of character is:

%d\n", n);

printf{"***The suffix of character

***\n");

for(i=0;i<n;i++)

printf("%d ",bb[i]);

}

点击查看答案

第2题

请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj
3.cpp,补充编制c++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。 要求: 补充编制的内容写在“//**********”与“//**********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。 注意:程序最后已将结果输出到文件0ut.dat中,输出函数writeToFile已经给出并且调用。 //proj3.cpp include<iostream> include<fstream> include<catting> using namespace std;

class doc { private: char*sir;//文本字符串首地址 int length;//文本字符个数 public: //构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址 doc(char*filename); void reverse;//将字符序列反转 一doc; void writeToFile(char*filename); }; doc::doc(char}filename) { ifstream myFile(filename); int len=1001,tmp; atr=new char[1en]; length=0; while((trap=myFile.get)!=EOF) { str[1ength++]=trap; } str[1ength]=‘\0’; myFile.close; } void doc::reverse{ //将数组atr中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个 //字符交换…… //*************333*************

//*************666*************

} doc::~doe { delete[]str; } void doc::writeToFile(char*filename) { Ofstream outFile(filename); outFile<<str; outFile.close; } void main { doc myDoc(”in.dat”); myDoc.reveme; myDoc.writeToFile(”out.dat”); }

点击查看答案

第3题

函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分

函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“66981636666257”,del的值为“6”,调用此函数后,将输出3个子字符串,分别为“981”、“3”和“257”。请将函数f_str中(6)~(8)空缺处的内容填写完整。

[函数]

void f_str(char *str,char del)

{ int i,j,len;

len = strlen(str);

i = 0;

while (i<len) {

while ((6) )

i++; /* 忽略连续的标志字符 */

/* 寻找从srt[i]开始直到标志字符出现的一个子字符串 */

j = i+1;

while (str[j] !=del && str[j] !='\0')

j++;

(7)="\0"; /* 给找到的字符序列置字符串结束标志 */

printf (" %s\t", & str [i]);

(8);

}

}

点击查看答案

第4题

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【函数2.1说明】 函数palindrome(char

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

【函数2.1说明】

函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。

【函数2.1】

int palindrome(char s[ ] )

{ char * pi, * pj;

pi=s; pj=s+strlen(s)-1;

while(pi<pj&&(1)){

pi ++ ;pj --

}

if((2))return -1;

else return 0;

}

【函数2.2说明】

函数f(char * str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”、“4”和“5”。

【函数2.2】

void f(char * str, char del)

{ int i ,j ,len;

len = strlen (str)

i=0;

while(i < len) {

while((3))i++; /*忽略连续的标志字符*/

/*寻找从str[i]开始直到标志字符出现的一个子字符串*/

j=i+1;

while(str[j] != del && str[j] ! = '\0')j ++

(4): '\0'; /*给找到的字符序列置字符串结束标志*/

printf("%s\t",&str[i]);

(5);

}

}

点击查看答案

第5题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【函数1说明】 函数palindrome(cha

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【函数1说明】

函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。

【函数1】

int palindrome(char s[]{

char *pi, *pj;

pi=s; pj=s+strlen(s)-1;

while(pi<pj&&(1)){

pi++; pj--;

}

if((2))return-1;

else return 0;

}

【函数2说明】

函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。

【函数2】

void f(char *str, char del){

int i,j, len;

len=strlen(str);

i=0;

while(i<len){

While((3)) i++; /*忽略连续的标志字符*/

/*寻找从str[i]开始直到标志字符出现的一个子字符串*/

j=i+1;

while(str[j]!=del && str[j]!='\0')j++;

(4)='\0'; /*给找到的字符序列置字符串结束标志*/

printf("%s\t",&str[i]);

(5);

}

}

点击查看答案

第6题

●试题二 阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。 【函数2.1说明】

●试题二

阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。

【函数2.1说明】

函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:"LEVEL"是回文字符串,而"LEVAL"不是。

【函数2.1】

int palindrome(char s[])

{char*pi,*pj;

pi=s;pj=s+strlen(s)-1;

while(pi<pj && (1) ){

pi++;pj--;

}

if((2) )return -1;

else return 0;

}

【函数2.2说明】

函数f(char*str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如若str的值为"33123333435",del的值为"3",调用此函数后,将输出3个子字符串,分别为"12"、"4"和"5"。

【函数2.2】

void f(char*str,char del)

{int i ,j ,len;

len=strlen(str);

i=0;

while(i<len){

while((3) )i++;/*忽略连续的标志字符*/

/*寻找从str[i]开始直到标志字符出现的一个子字符串*/

j=i+1;

while(str[j]!=del && str[j]!=′\0′)j++;

(4) =′\0′;/*给找到的字符序列置字符串结束标志*/

printf(″%s\t″,&str[i]);

(5) ;

}

}

点击查看答案

第7题

阅读下列函数说明和C函数,将应填入______处的语句写在答题纸的对应栏内。 [函数2.1说明] 函数pali

阅读下列函数说明和C函数,将应填入______处的语句写在答题纸的对应栏内。

[函数2.1说明]

函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样,称该字符串是回文字符串,例如,“LEVEL”是回文字符串,而“LEVAL”不是。

[函数2.1]

int palindrome(char s[])

{

char *pi, *pj;

pi=s;pj=s+strlen(s)-1;

while(pi<pj&& (1) ) {

pi++;pj--;

}

if((2) ) return-1;

else return 0;

}

[函数2.2说明]

函数f(char *str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”,“4”和“5”。

[函数2.2]

void f(char *str,char del)

{

int i,j,len;

len=strlen(str);

i=0;

While(i<len){

While((3) )i++; /* 忽略连续的标志字符 */

/* 寻找从str[i]开始直到标志字符出现的一个子字符串 */

j=i+1;

while(str[j]!=del &&str[j]!'\0')j++;

(4) ='\0'; /* 给找到的字符序列置字符串结束标志 */

printf("%s\t",&str[i]);

(5);

}

}

点击查看答案

第8题

试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。BOOLSymmetry(chara[]){inti=0;Stacks;InitStack(s);ElemTypex;while(a[i]!='&'&&a[i]){_________i++;}if(!a[i])returnFALSE;i++;while(a[i]){Pop(s,x);if(x!=a[i]){DestroyStack(s);returnFALSE;}i++;}returnTRUE;}

A.Pop(s,a[i++])

B.Push(s,a[i++])

C.Push(s,a[i])

D.Pop(s,a[i])

点击查看答案

第9题

阅读以下说明和C语言函数,将应填入(n)处。[说明] 二叉排序树或者是一棵空树,或者是具有如下性质的

阅读以下说明和C语言函数,将应填入(n)处。

[说明]

二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二义排序树。

函数insert_BST(char *str)的功能是:对给定的字符序列按照ASCⅡ码值大小关系创建二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点中的Count域对字符的重复次数进行计数。

二叉排序树的链表结点类型定义如下:

typedef struct BSTNode{

char Elem; /*结点的字符数据*/

int Count; /*记录当前字符在序列中重复出现的次数*/

struct BSTNode *Lch,*Rch; /*接点的左、右子树指针*/

}*BiTree;

[函数]

BiTree insert_BST(char *str)

{ BiTree root,parent,p;

char (1); /*变量定义及初始化 */

root=(BiTree)malloc(sizeof(struct BSTNode));

if(!root||*s=='\0') return NULL;

root->Lch=root->Rch=NULL; foot->Count=1; root->Elem=*s++;

for(; *s!='\0';s++) {

(2); parent=NULL;

while (p){ /*p从树跟结点出发查找当前字符*s所在结点 */

parent = p;

if(*s==p->Elem)/*若树中已存在当前字符结点,则当前字符的计数值加1*/

{p->Count++; break;}

else /*否则根据字符*s与结点*p中字符的关系,进入*p的左子树或右子树*/

if (*s>p->Elem) p=p->Rch;

else p=p->Lch;

}/*while*/

if((3)) {/* 若树中不存在字符值为*s的结点,则申请结点并插入树中 */

p=(BiTree)malloc(sizeof(struct BSTNode));

if(!p)return NULL;

p->Lch=p->Rch=NULL; p->Count=1; p->Elem=*s;

/*根据当前字符与其父结点字符值的大小关系,将新结点作为左子树或右子树插入*/

if(p->Elem>parent->Elem) (4)=p;

else (5)=p;

}

}/*for*/

return root;

}

点击查看答案

第10题

下列关于文件的描述不正确的是

A.文件是一个存储在辅助存储器上的数据序列,可以包含任何数据类型。

B.文本文件一般由特定编码的字符组成,而二进制文件直接由比特0和比特1组成。两者的区别主要是是否有统一的字符编码。

C.二进制文件是特定格式形成的文件,典型的如avi格式、jpg格式等

D.文本文件和二进制文件都可以用“t”(文本文件方式)和“b”(二进制文件方式)打开,打开后的操作也相同。

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧