重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

请采用函数来实现以下功能

暂无答案
更多“请采用函数来实现以下功能”相关的问题

第1题

应用函数模板不能实现下列哪种功能?( )

A、减少源程序代码量

B、减少可执行程序代码量

C、提高函数代码的可重用性

D、函数模板可以向普通函数一样调用

点击查看答案

第2题

请认真阅读以下函数说明、图及C程序,将程序段中(1)~(7)空缺处的语句填写完整。

[说明]

一般的树结构常采用孩子—兄弟表示法表示,即用二叉链表做树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。例如,如图1-15(a)所示树的孩子—兄弟表示如图1-15(b)所示。

函数LevelTraverse()的功能是对给定树进行层序遍历。例如,对如图1-15所示的树进行层序遍历时,节点的访问次序为D B A E F P C。

对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如表1-11所示。

Bool、Status类型定义如下:

树的二叉链表节点定义如下:

[C函数程序]

点击查看答案

第3题

假设采用动态存储分配的顺序串HString作为串的存储结构。该类型实现的串操作函数原型说明如下:

void strinit(HString s); //置s为空串

int strlen(HString s); //求串s的长度

void strcpy(HString to,HString from); //将串from复制到串to

void streat(HString to,HString from); //将串from联接到串to的末尾

int strcmp(HString s1,HString s2);

//比较串s1和s2的大小,当s1<s2,s1=s2或s1>s2时,

//返回值小于0,等于0或大于0

HString substr(HString s,int i,int m);

//返回串S中从第i(0≤i≤strlen(s)-m)个字符起长度为m的子串阅读下列算法f32,并回答问题:

(1)设串S="abcdabcd",T="bcd",V="bcda",写出执行f32(S,T,V)之后的S;

(2)简述算法f32的功能。

void f 32(HString S,HString T,HString V){

int m,n,pos,i;

HString news;

strinit(news);

n=strlen(S);

m=strlen(T);

pos=i=0;

while(i<=n-m){

if(strcmp(substr(S,i,m),T)!=0)i++;

else{

strcat(news,substr(S,pos,i-pos));

strcat(news,V);

pos=i=i+m;

}

}

strcat(news,substr(S,pos,n—pos));

strcpy(S,news);

}

点击查看答案

第4题

阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。

[说明]

在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是信号量应用实例。

下图所示代码是在μC/OS-II操作系统上运行的一个应用的主函数。该函数创建了任务Task1和Task2,其中Task1实现从键盘读入一个字符的功能,Task2将该字符输出到屏幕,它们使用信号量和一个公共变量buffer来传递该字符。

主函数、Task1和Task2中所调用的函数原型说明如下:

a.创建一个信号量:OS EVENT*OSSemCreate(INT16Uvalue);

b.创建一个任务:INT8U OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK *ptos,INT8U prio);

c.开始执行多任务:void OSStart(void);

d.从键盘读入一个字符:char scanc();

e.输出一个字符至屏幕:void printc(char ch);

f.发出一个信号量:INT8U OSSemPost(OS EVENT*pevent);

g.等待一个信号量:void OSSemPend(OS_EVENT*pevent,INT16U timeout,INT8U *err)

请简述什么是临界资源?什么是临界区?访问临界资源应遵循哪些原则?

点击查看答案

第5题

请教:2006年上半年软件水平考试(初级)程序员下午(应用技术)试题真题试卷第1大题第5小题如何解答?
【题目描述】

阅读以下说明和c语言函数。

 [说明]

 函数bool Del_elem(STACK*s,char para_ch)的功能是:删除栈*s中与para ch之值相等且最接近栈顶的元素(字符),若栈中不存在该元素,则函数返回 FALSE,否则返回 TRUE。其中,STACK是栈的类型名。

 函数Del_elem实现上述功能的方法是:利用栈的基本操作,先将栈*s中所有比 para_ch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与Para ch之值相等的元素,最后再将s bak中的元素依次存回栈*s。

 在函数Del_elem中必须使用栈的基本操作进行栈上的运算,实现栈的基本操作的函数原型说明如下:

 void InkStack(STACK*S):初始化栈。

 void Push(STACK*S,char e):将一个字符压栈,栈中元素数目增1。

 void Pop(STACK*S):栈顶元素出栈,栈中元素数目减1。

 char Top(STACKS):返回非空栈的栈顶元素值,栈中元素数目不变。

 bool IsEmpty(STACK S):若S是空栈,则返回TRUE;否则返回FALSE。

 bool类型定义如下:

 typedef enum{FALSE=0,TRUE=1)bool;

[C语言函数]

 bool Del_elem(STACK*s,char para_ch)

 {

 STACK s_bgk;  /*定义临时工作栈s_bak,*/

 char ch;

 bool tag=FALSE;

  (1)       /*初始化临时工作栈s_bak*/

 /*,将栈*s中所有比para_ch更接近栈顶的元素暂时存放在临时工作栈s bak中*/

 while(!IsEmpty(*s)){

   ch=(2); /*取栈顶元素*/

   Pop(s);

   if(ch=para_ch){

    tag=TRUE;

    break;

  }

 (3);

}

 /*将暂存于临时工作栈s_bak中的元素存回栈*s*/

  while((4))

    ch=Top(s_bak);

  (5) 

    Push(s,ch)

 }

 return tag;

 }

【我提交的答案】:

【参考答案分析】:

(1)InitStack(&s_bak)(2)Top(*s)(3)Push(&s_bak,ch)(4)!IsEmpty(s_bak),或IsEmpty(s_ak)==FALSE(5)Pop(&s_bak) 解析:本题考查的是C语言的函数调用和参数传递问题。

 C语言采用传值调用方式,即将实际参数的值传递给形式参数,因此,实际参数一般是与形式参数类型相同的变量或表达式。但是,若形式参数为指针,则调用语句中的实参应将一个变量的地址传递给形参。

 函数bool Del_elem(STACK*s,char para_ch)的功能是删除栈*s中与para_ch之值相等且最接近栈顶的元素(字符)。因此,利用栈的基本操作,先将栈*s中所有比para ch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与para_ch之值相等的元素,最后再将s bak中的元素依次存回栈*s。

 从初始化栈的函数原型“void lnitStack(STACK*S)”可知,形参是一个指针变量,那么实参应该是对STACK类型的变量取地址,因此空(1)处应填入“initStack(&s bak)”。

 根据出栈操作的函数原型“void Pop(STACK*S)”,出栈时栈中元素数目减1但调用环境不能获得栈顶元素,因此需要首先调用函数Top()获取栈顶元素的值,然后调用Pop()从栈中删除栈顶元素。因此空(2)应填入“Top(*s)”。临时工作栈需要保存从栈*s弹出的元素,因此,参考压栈操作的函数原型“void Push(STACK*S,chare)”,空(3)应填入“Push(&s bak,ch)”。

 从栈中取元素时,应首先判断是否为空栈,这是使用栈结构的一项基本常识。参考函数原型“bool IsEmpty(STACK S)”和bool类型的定义,空(4)应填入“!IsEmpty(s_bak)”。同时,通过Top和Pop操作从临时工作栈s bak中取出元素,再用Push操作将该元素压入栈*s中,来实现将暂存于临时工作栈s bak中的元素存回栈*s,因此,空(5)填入“Pop(&s_bak)”。

为什么答案中有&符号?

点击查看答案

第6题

硬件连接: 按键S1->P0_1(下降沿识别) 按键S2->P...

硬件连接: 按键S1->P0_1(下降沿识别) 按键S2->P0_2(下降沿识别) D1->P1_0 D2->P1_1 …… D8->P1_7(高电平点亮,低电平熄灭) 完善下列CC2530单片机代码,采用中断方式,实现功能: 1、初始状态,D1-D8全部熄灭; 2、按键S1,S2控制8个LED灯D1 -> D8双向循环流水显示。 #include <iocc2530.h> void io_init(void) { //P1口线的普通I/O功能配置 _________________________________ //配置P1SEL ① _________________________________ //配置P1DIR ② _________________________________ //配置P1端口初始电平③ //P0口线输入功能配置 P0SEL &= XXXXX; P0DIR &= XXXXX; P0INP |= XXXXX; //P0中断的相关寄存器配置 __________________________________//配置P0输入中断触发条件④ __________________________________//配置P0中断屏蔽寄存器 ⑤ EA = 1; __________________________________//配置P0中断使能位⑥ P0IFG &= XXXX; P0IF = XXX; } /******************************************************************* ** 中断服务函数 ******************************************************************/ ____________________________________//P0中断服务函数⑦ { if(________ ) //识别按键S1 ⑧ XXXXXXXXXX; if(_________) //识别按键S2 ⑨ XXXXXXXXXX; P0IF=0; ___________________________________//配置P0中断状态标志位寄存器⑩ } /**************************************************************** **** main function ****************************************************************/ void main(void) { io_init(); while(1); } /***************************THE END****************************/

点击查看答案

第7题

下列各项中关于人机系统可靠性设计的基本原则的说法中正确的是( )。

A.系统的整体可靠性原则,从人机系统的整体可靠性出发,合理确定人与机器的功能分配,从而设计出经济可靠的人机系统。一般情况下,机器的可靠性高于人的可靠性,实现生产的机械化和自动化,就可以将人从机器的危险点解脱出来,从根本上提高了人机系统的可靠性

B.高可靠性组成单元要素原则,系统要采用经过检验的、高可靠性单元要素来进行设计,由于负荷条件和环境因素随时间而变化,所以可靠性也是随时间变化的函数,并且随时间的增加,可靠性降低。因此,设计的可靠性和有关参数应具有一定的安全系数,保证了可靠性

C.高可靠性方式原则,为提高可靠性,宜采用冗余设计、故障安全装置、自动保险装置等高可靠度结构组合方式。系统安全常是以正常的准确的完成规定功能为前提。多达到功能准确性,采用保险结构方法可保证系统的可靠性

D.高维修度原则,为便于检修故障,且在发生故障时易于快速修复,同时为考虑经济性和备用方便,应采用零件标准化、部件通用化、设备系列化的产品

E.预测和预防的原则,要事先对系统及其组成要素的可靠性和安全性进行预测。对已发现的问题加以必要的改善,对易于发生故障或事故的薄弱环节和部位也要事先制定预防措施等

点击查看答案

第8题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。 A AA AAA 注意:不能修改程序的其他部分,只能修改fun函数。 试题程序: include<iostream.h> voidfun(intn) { } voidmain { intn; cout<<"请输入打印的行数:"<<endl; cin>>n; if(n<1) { cout<<"输入的行数必须大于0"<<endl; return; } fun(n); return; }

点击查看答案

第9题

重载函数的实现和功能不同,但函数的【 】相同。

点击查看答案

第10题

以下函数实现的功能是 ( )。 void fun(char *s) { char *p,*q, temp; p=s; q=s+strlen (s) -1; while (p<q) { temp=*p; *p=*q; *p=temp; p++; q--; } }

A.将一个字符串首尾颠倒

B.计算字符串的长度

C.统计字符串中的空格个数

D.将字符串中的小写字母变成大写字母

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案