B2040判断是否为两位数

判断是否为两位数

题目描述

判断一个正整数是否是两位数(即大于等于 10 且小于等于 99)。

输入格式

一个正整数,不超过 1000。

输出格式

一行。若该正整数是两位数,输出 1,否则输出 0。

样例 #1

样例输入 #1`

54

样例输出 #1

1
没有什么好分析的(?
直接上代码

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	if(n/10>=1&&n<=99)
	cout<<"1";
	else
	cout<<"0";
	return 0;
	
}
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
面试题,是纸上写的,发现了些错误,回来改进了下。写纸上和写计算机里并编译成功完全是两个效果。 开始没太多字符串操作,很繁琐、难点也多,后逐渐改进。 典型问题1: sizeof()局限于栈数组 char a[] = "asd213123123"; 形式,并且这种不能用'\0'判断是否结束(这种判断方式能很方便加在while条件中用于判断越界——b != '\0')。 如果是字符串常量: char *b = "dasadafasdf"; 这种情况,sizeof()就废掉了! 总之: 对号入座,前者sizeof、后者strlen~!不过sizeof(a)和strlen(b)还有另外一个区别,strlen不计算'\0',而sizeof要计算(前提是sizeof()不针对char指针) 典型问题2: 用什么来暂存并输出结果?还是只是记录下来相关位置——这是我底下未完成版本1想到的思路——用一个count[sizeof(A)]数组记录下A每个位置作为起点所能和B达到的最大重合,最后判断查找数组中最大值,此时目标子字符串的起点下标(i)和 i 对应的长度(counter[i])都有了。 这是针对不知道字符串大小并且不占用额外空间的做法,需要非常繁琐的操作,要加很多标记,越界判断也会有些麻烦(结合优势么,用字符串常量而不是栈空间中的字符数组,有'\0'——就好判断了!) (关于空间的占用,如果要用一个和字符串a一样长的数组counter来计录a中各起点对应与b最大重合子字符串,这个数组也要和a一样长,空间上也不合适,除非情形很特殊,a短b长,不然不如直接malloc()一个堆空间来储存当前最长“子字符串”,并实时更新) 先放一个改完编译测试成功的。 release1 //题目:要求比较A字符串(例如“abcdef"),B字符串(例如(bdcda)。找出重合度最大的子字符串,输出(根据OJ经验,输>出结果对即可) #include #include #include main(){ char *A = "abcderfghi"; char *B = "aderkkkkkabcd"; int i,j,c = 0,count = 0; unsigned int maxSeg = 0; int max = strlen(A) > strlen(B) ? strlen(A) : strlen(B); char* final = (char*)malloc(sizeof(char) * (max + 1)); final[max] = '\0'; for(i = 0;A[i] != '\0';i++){ for(j = 0;B[j] != '\0';j++){ while(A[i + c] == B[j] && A[i+c] != '\0' && B[j] != '\0'){ count++; c++; j++; }                         if(count > maxSeg){                                 strncpy(final,(A + i),count);                                 maxSeg = count;                         } count = 0; c = 0; } } printf("%s\n",final); free(final); } 这是能将就用的第一个版本~!关于结束符'\0'能否影响free()的使用,觉得是完全不用操心的,因为malloc的大小是系统来保存的,删除时候系统来接手就完了,而'\0'结束符只是针对一些常规字符串操作,比如printf()用%s控制输出时~! 新难点:找到的子字符串同时一样长怎么办?那我这只能叫做”第一个最长的重合字符串“用两块空间来存储?三
计算机应用基础B判断题(20210414121631)全文共6页,当前为第1页。计算机应用基础B判断题(20210414121631)全文共6页,当前为第1页。计算机应用基础B判断 题 计算机应用基础B判断题(20210414121631)全文共6页,当前为第1页。 计算机应用基础B判断题(20210414121631)全文共6页,当前为第1页。 集团标准化小组:[VVOPPT-JOPP28-JPPTL9&LOPPNN] 判断 模拟计 算机同样能处理数字信息。 错误 计算机应用基础B判断题(20210414121631)全文共6页,当前为第2页。计算机应用基础B判断题(20210414121631)全文共6页,当前为第2页。第二代计算机可以采用高级语言进行程序设计。 正确 计算机应用基础B判断题(20210414121631)全文共6页,当前为第2页。 计算机应用基础B判断题(20210414121631)全文共6页,当前为第2页。 "计算机辅助设计"的英文缩写是CAI。错误 系统软件包括操作系统、语言处理程序和各种服务程序等。正确 现在我们使用的计算机属于第五代计算机,其多媒体信息处理能力是第五代计 算机的标 志错误 WWW (WordWideWeb)称为万维网。 正确 在计算机网络中只能共方软件资源,不能共事硬件资源。 错误 一个汉字在计算机种存储需要两个字节。 正确 在计算机内部,机器数的最高位为符号位,该位用1表示该数为负数。 正确 计算机的指令是一组二进制代码,是计算机可以直接执行的操作命令。 正确 判断 机器语言程序是计算机能直接执行的程序。【参考答案】正确 控制器通常又称中央处理器,简称"CPU"【参考答案】错误 我们衡量一个文件的大小、信息量的多少都是以"位"为单位的。【参考答案】 错误 在计算机中,利用二进制数表示指令和字符,用十进制数表示数字。【参考答案】 错误 应用软件的编制及运行,必须在系统软件的支持下进行。【参考答案】正确 IP协议的一项重要的功能就是对在Internet中的计 算机实现统一的IP地址编码,并可通 过IP地址寻找Internet中的计算机。【参考答案】正确 http是指超文本传输协议。【参考答案】 正确 对于特定的讣算机,每次存放和处理数据的二进制数的位数是固定不变的【参考答案】 正确 在计 算机内部,利用电平的高低组合来表示各类信息。【参考答案】 错误 判断 程序是能完成特定功能的一组指令序列。【参考答案】 正确 计算机的字长是指一个汉字在计算机内部存放时所需的二进制位数。【参考答案】 错误 通常把控制器、运算器、存储器、输入和输出设备合称为计算机系统。【参考答案】错误 计算机与计算器的差别主要在于中央处理器速度的快慢。【参考答案】错误 操作系统属于系统软件范畴。【参考答案】正确 域名和IP地址是同一概念的两种不同说法。【参考答案】错误 ISP是指Internet服务提供商。【参考答案】 正确 键盘上每个按键对应唯一的一个ASClI码。【参考答案】错误 一个汉字在计 算机种存储需要两个字节。【参考答案】 正确 二进制数(0.1) 2与十进制数(0.1) 10—样大。【参考答案】 错误 判断 计算机内部最小的信息单位是"位"。【参考答案】 正确 汁算机系统包括软件系统和硬件系统两大部分。【参考答案】 正确 7个二进制位构成一个字节。【参考答案】错误 存储器具有记忆能力,而且任何时候都不会丢失信息。【参考答案】 错误 中小规模集成电路是第三代计算机的核心部件。【参考答案】 正确 字母A的ASCll码的值为65,那么小写字母d的ASelI码值也是65.【参考答案】钳误 采用ASCll编码,最多能表示128个符号。【参考答案】 正确 字长是衡量计算机运算速度和性能的一个重要指标。【参考答案】 正确 判断 第二代计算机可以采用高级语言进行程序设计。【参考答案】 正确 多媒体计算机是指计算机系统中用于存放文件的设备有多种,比如U盘、硬盘、光盘等。 【参考答案】错误 存储器容量的大小可以用KB为单位来表示,IKB表示1024个二进制数位。【参考答案】 错误 计算机应用基础B判断题(20210414121631)全文共6页,当前为第3页。计算机应用基础B判断题(20210414121631)全文共6页,当前为第3页。应用软件的编制及运行,必须在系统软件的支持下进行。【参考答案】正确 计算机应用基础B判断题(20210414121631)全文共6页,当前为第3页。 计算机应用基础B判断题(20210414121631)全文共6页,当前为第3页。 半导体存储器是第三代计算机的主存。【参考答案 正确 只要将儿台计算机使用电缆连接在一起,计算机之间就能够通信。【参考答案】 错误 字长是衡量计算机运算速度和
1、设计要求基于小脚丫FPGA开发板和四位数码管实现数字时钟的设计,要求: 1)采用FPGA+按键+四位数码管实现数字时钟功能; 2)时间显示格式:XX:XX:XX (时:分:秒),采用24小时制; 3)四位数码管显示时分秒,可以通过按键控制选择显示时分界面还是分秒界面。 4)通过按键设定初始时间。 5)设置在整点12点时,通过蜂鸣器响示意整点报时。蜂鸣器响维持大概5S; 2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的24MHz时钟晶振,连接FPGA的C1引脚。 本设计用到五个个按键K1~K5,硬件设计如图1所示,五个按键分别连接到FPGA的B8、C8、A10、A11和A12引脚。 图1. 按键硬件设计 本设计用到一个蜂鸣器来示意整点报时,硬件设计如图1所示,蜂鸣器连接到FPGA的B2引脚。 图2. 蜂鸣器硬件设计 本设计用到四位数码管来显示时间,四位数码管用两个74HC595驱动,硬件设计如图1所示,74HC595的串行时钟SCK、并行时钟RCK和串行数据DIN分别连接到FPGA的N2、M1和K1引脚上。 图3. 数码管驱动74HC595硬件设计 3、工作原理1)使用计数器做分频处理,得到周期为1秒的脉冲信号; 2)使用三个8bit的BCD码表示时钟、分钟、秒钟的值,其中高4bit表示值的十位,低4bit表示值的个位; 3)正常运行时,每来一个1S脉冲信号个位加1,个位满10清零同时十位加1,当秒钟满60清零同时分钟个位加1,依次进行...直到23:59:59的下一刻全部清零; 4)按键K5,模式调节,设计共分4中模式(分秒显示、分秒调节、时分显示、时分调节),按动K5依次切换模式; 5)按键K2,时间调节,当数字时钟在时针调节、分针调节或秒针调节模式时,按动K2调节对应时间位; 6)在调时分和调分秒两个状态,可以通过K4和K2键分别左移右移要调整的位,要调整的位会通过对应位的闪烁来示意。通过K4和 K2左右移动选择好要调整的位以后,就可以通过K1和K3来增大或调小对应的位; 4、代码设计为了实现所需要的功能,我们将整个设计划分不同的模块,如图4所示。 图4. 数字时钟程序设计框架 4.1五位按键消抖模块 图5. 五位按键消抖模块 Ø输入:五位的按键电平信息输入 Ø输出:五位消抖后的脉冲输出 Ø功能:将按键按下一次的电平信号,经过消抖后变成一个维持一个时钟周期的脉冲信号; Ø原理: 图6. 按键抖动特性 FPGA过20ms检测按键是否按下,存储检测到的值,并且按位取反与前一个20ms检测的值相与,得到一个值,如果为1,则判断按键按下,否则则无按下。 图7. FPGA按键的理解示意图 4.2电子表显示控制模块。 图8. 电子表显示控制模块 Ø输入:五位的按键脉冲 Ø输出:十六位的BCD码输出,每四个代表一个十进制数; Ø原理:四位的位闪烁控制信号。某一位为一代表这位对应的数码管的一位进行闪烁显示。(在调整状态下,会让当前调整的哪一位进行闪烁。正常显示状态下seg_flash_data全为零); Ø功能:主要就是一个状态机,通过检查输入的按键信息,进行显示状态切换,时间调整。四个状态分别为:显示分秒,调分秒,时分显示,调时分;当K5按键按下(key_pulse[4])时依次跳转,如图9所示。 图 9. 数字时钟状态控制设计 4.3数码管译码模块 图10. 数码管译码模块 Ø输入:四位的BCD码数据 Ø输出:八位的七段数码数据 Ø功能:一个case语句,将输入的四位BCD码转化为七段数码数据; Ø原理:数码管分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳极(COM)需接+5V才能使其工作。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码,共阴极(COM)需接GND才能使其工作。小脚丫拓展板上的数码管如下图所示: 图11. 数码管内部电路 共阴极数码管: 位选为低电平(即0)选中数码管;各段选为高电平(即接+5V时)选中各数码段;由0到f的编码为: 4.4四位数码管显示控制模块。 图12. 数码管显示控制模块 Ø输入:四个八位的七段数码管数据和位闪烁控制信号seg_flash_data. Ø输出:需要串行输出给74HC595的十六位数据; Ø功能:模块就是循环的将四位七段数码数据,组合一个十六位的输出数据; 4.5 74HC595驱动功能模块 图13. 74HC595驱动功能模块 Ø输入:十六位的位选段选数据。 1)duan_wei_data[13:0]分别对应: 2)[ X,X,H+,H-,DIG4,DIG3,DIG2,DIG1,DP,G,F,E,D,C,B,A] ; Ø输出:SPI接口输出,串行输出十六位位选段选信号; Ø

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值