1042:奇偶ASCII值判断

【题目描述】

任意输入一个字符,判断其ASCIIASCII是否是奇数,若是,输出YESYES,否则,输出NONO。例如,字符AA的ASCIIASCII值是6565,则输出YESYES,若输入字符BB(ASCIIASCII值是6666),则输出NONO。

【输入】

输入一个字符。

【输出】

如果其ASCIIASCII值为奇数,则输出YESYES,否则,输出NONO。

【输入样例】

A

【输出样例】

YES

源代码:

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
	char a;
	int b;
	scanf("%c",&a);
	b=a;
	if(b%2==0)
		cout<<"NO";
		else 
			cout<<"YES";
	return 0;		
 }
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
汇编语言程序设计 实 验 报 告 课程名称 汇编语言程序设计 班 级 姓 名 学 号 指导教师 汇编语言程序设计 实验一 DEBUG 程序使用技巧 1. 寄存器和内存 开始 Debug 程序。输入"Q( " 退出程序。再次启动 Debug。 输入 "r( "来显示CPU的当前状态和寄存器中的当前内容。 输入 "r AX( "和"1234", AX 寄存器中的内容变为 1234。 输入 "r DS( "和"2000", DS 寄存器中的内容变为 2000。 输入 "d DS:1000( "来显示数据段中 80H 字节数据,把数据抄在这里: 输入 "f DS:1000 1100 77( "再显示一次这 80H 字节。判断这条指令的作用是什么? 答:从DS:1000地址七 ,将1100H字节的内容赋为77H 再输入 "d 2000:1000( "来显示数据段中 80H 字节数据。观察与前面的数据有无不同。 输入 "d 1900:0100( "和"d 1ff0:0100( "来显示两个存储段中的内容。比较其中 2000:0000 段中的数据。相同段落中的数据相同么?根据你的观察,得出结论,是否程序员可以用 不同的段起始地址和偏移量组合,把不容内容存入相同的内存段中。 答:相同段落中的数据相同, 程序员可以用不同的段起始地址和偏移量组合,把不容内容存入相同的内存段中。 2.输入机器码,使用单步和断点 退出 Debug,再重新启动 Debug。 输入 "r( "观察 CPU 的状态,下一条指令是什么? 答:下一条指令是ADD [BX+SI],AL 使用两种方式输入一段程序,第一种方式:直接输入机器码。 输入 "u( "来显示程序段中的指令序列。然后输入 "d CS:100( " 来显示代码段中的数据。观察显示内容。 "u CS:100 106( "做反汇编,就是显示出汇编语句。将这几句汇编语句记录下来: 使用输入 "r( "观察 CPU 的状态,使用 "t( "来跟踪程序,直至最后一条指令执行完毕。注意,跟踪程序前,要让 IP 寄存器中的是 100H。一直监视 AX 和 IP 寄存器的内容变化,尤其是标志位的变化。 第二种方式,是输入汇编语句。重启 Debug 程序。 先输入 "a CS:100( ",然后输入: MOV AX, FF00 ADD AX,01F0 MOV BX,AX NEG BX ADD AX,BX 输入 "u CS:100 10A( "就可以得到这几条语句的机器码。把机器码记录下来: 使用命令"r ip( "再输入 "100( ",可以将寄存器 IP 中的内容置为 "100H"。再输入"r( "观察 CPU 的状态,然后反复输入 "t( " 跟踪程序,直到程序结束。解释为什么标志位内容会有改变?另外,说明这段程序完成 什么任务? 答: (1)执行完指令: add ax,01f0后 结果为 100f0H 发生了进位,进位标志位发生改变,并且二进制的100f0H 中1 的个数为偶数,所以奇偶标志位发生了改变。 (2)执行完指令:neg bx 即求补指令,bx由正数变为负数,符号标志位发生改变;二进制的1的数量有偶数变成奇 数,奇偶标志位发生改变。 (3) 执行完指令:add ax,bx,ax由00f0H 变为10000H,符号标志位发生改变,零标志位发生改变,奇偶标志位发生改变。 重新把寄存器 IP 的内容变为 100H,不使用跟踪命令 "t",改用"g 10c"来完成程序。 程序中还可以加断点,做法是在程序中加入 "int 3" 这条指令。如果这条指令在程序的末尾,我们可以通过输入 "g( " 来完成运行程序。这样就不需像上面需要告诉 Debug 程序最后机器码字节的地址偏移量了。"int 3"是 Debug 中很有效的返回控制指令。把这条指令放在程序中必要的位置上,在这条指令后面的代 码在不允许时就不会运行。 3.ASCII 字符码,从键盘输入,从显示器输出 (i) 标准 ASCII ( American Standard Code for Information Interchange ) 码使用 7- bit 二进制数来代表字符。一般文本信息经常用 ASCII 编码。 使用命令 "a CS:100( ", 输入下面的代码: MOV BX,0 MOV [BX],BL INC BX CMP BH,1 JNE 103 INT 3 使用 "d DS:0 100( "命令,显示程序运行前相应内存段中的数据。运行上面的程序来填充 DS:0000-00FF 这段内存中的内容。再次输入 "d DS:0 100( "命令来显示填充的内容。在窗口的右边,可以看到相应的ASCII码字符。 如果填充的内容不是字符,显示就用点表示。用类似

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值