《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj  《软件开发笔试汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm  3、简易计算器  题目描述  设计一款计算器软件,支持以下功能:  1)支持let关键字  2)支持通过let赋值表达式定义变量并初始化例如:  let var1 = 123  let var = 123  3)变量需要先定义再引用,在表达式中引用未定义的变量,则表达式的结果也是未定义的  例如:  let var1 = 1  let var2 = var1+1// var1是定义的  let var3 = var4 +1// var4是未定义的  let var4 = 1  4)支持整数类型数据,整数数据的输入格式只需要支持十进制,支持负整数,整数取值范围-2147483648<=x<=2147483647  例如:  let var3 = 10  let var3 = -10  5)支持整数的加(+)、减(-)、乘(*)、除(/)四则运算,四则运算符之间没有优先级,运算数遵循左结合律,用例不考虑括号  例如:  let var4 = 1+2*var3  上述表达式的计算顺序是,先计算1+2结果为3,再将3乘以var3得到表达式的结果。  6)支持通过out函数打印变量的值,函数参数只接受1个变量,不需要支持表达式例如:  let var4 =12  out(var4)//将会输出12  7)表达式中如果引用了未定义的变量,则表达式的结果是未定义的  8)如果计算结果溢出,则表达式结果是溢出  9)变量命名符合通用语言变量规范,必须是以下划线_或者字母开头,遇到标点符号或者空格符时结束  例如:  let_ = 1//变量名_是合法的  let _abc =1//合法  let abc = 1//合法  let Abc_1 =1/1/合法  let abc.x=1//非法  let abc,x=1//非法  let 12abc=1//非法  let abc x= 1//非法  输入  输入描述  1)每一行只有一个表达式  2)最多支持24行输入  3)每个用例输入至少有一个out输出表达式,可以有多个out输出表达书  4)每个变量只会赋值1次  例如:  let var1 = 1  let var2 = 3  let var3 = var1 + var2  out(var3)  输出  输出描述  1)每遇到1个out输出表达式,则打印输出变量的值  2)对于out行,只会输出一个out表达式的值  3)如果out输出的变量未定义,则打印<undefined>  4)如果表达式结果发生了整数上溢或者下溢,则对该变量的out输出表达式输出<underflow>或者<overflow>  5)如果表达式非法,则打印<syntax-error>  例如:  给定输入  let var1 = 1  let var2 = 3  let var3 = var1 + var2  out(var3)  out(var2)  out(var)  let var4 = -2147483649  let var5 = 2147483648  out(var4)  out(var5)  let x.y =1  输出为  4  3  <undefined>  <underflow>  <overflow>  <syntax-error>  样例1  输入:   let var1 = 1  out(var1)  输出:  1  样例2  输入:   out(var)  输出:  <undefined>  解释:输出的变是var未定义    1、丢失报文的位置  某通信系统持续向外发送报文,使用数组nums保存n个最近发送的报文,用于在报文未达到对端的情况下重发。报文使用序号sn表示,序号sn按照报文发送顺序从小到大排序,相邻报文sn不完全连续且有可能相同。报文使用循环覆盖的方式保存,即nums数组填满后,从头开始保存新的报文。假设需要重发序号为sn的报文。请找出序号为sn的报文在数组中的开始位置和结束位置。  输入  第一行输入:数组nums的大小n,取值范围[0,10000]  第二行输入:数组中的所有报文的序号sn, sn取值范围[0,100000]。  第三行输入:需要重发的报文序号sn,取值范围[0,100000]  输出  start end  说明:start和end代表需要重发的报文序号sn在数组中的起始下标和结束下标  样例1  输入:  7  0 0 1 2 2 5 6  1  输出:  2 2  解释:  nums数组大小为7  保存了7个报文,sn分别是0 0 1 2 2 5 6  sn为1的报文在数组中仅有1个,下标是2,因此输出2 2  样例2  输入:  7  0 0 1 2 2 5 6  2  输出:  3 4  解释:  nums数组大小为7  保存了7个报文,sn分别是0 0 1 2 2 5 6  sn为2的报文在数组中有2个,下标分别是3,4,因
点赞 2
评论 0
全部评论

相关推荐

bg 为 985 本应届生,方向是嵌入式软件。纠结了很久,两边都不太了解,恳请各位大佬帮选,非常感谢🙏。
ResourceUtilization:求稳海能达,趁着年轻赚它一笔就relink吧,有个疑惑,怎么睿连同岗位多这么多base原因吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务