文档库 最新最全的文档下载
当前位置:文档库 › 键盘输入的小写字母转换成大写字母

键盘输入的小写字母转换成大写字母

键盘输入的小写字母转换成大写字母
键盘输入的小写字母转换成大写字母

微型计算机原理课程设计实验报告

学院:电气信息工程学院

班级:生医0901

姓名:曹佳浩

学号:3090505024

微型计算机原理课程设计实验报告

一、实验目的

结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对微型计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用。学会使用全屏幕编辑程序—PE,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。

二、实验内容

1、响铃设计

为掌握响铃的使用方法。编写程序,从键盘接收输入字符,如是数字N 则响铃N次;如不是数字,则不响。

2、将键盘输入的小写字母转换成大写字母的设计

为了解小写字母和大写字母在计算机中的表示方法,并学习如何进行转换。编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。

3、字符串匹配设计

为掌握提示信息的设置方法及读取键入信息的方法。编写程序实现两个字符串比较。如相同,则显示“MATCH”,否则,显示“NO MATCH”。

4、计算N!的设计

为了解高级语言中的数学函数是怎样在汇编语言一级上实现的。编写计算N!的程序。数值N由键盘输入,结果在屏幕上输出。N的范围为0~65535。

即刚好能被一个16位寄存器容纳。

5、学生成绩名次表设计

为进一步熟悉排序方法。编写程序,将0~100之间的30个成绩存入首址为1000H的存储区中。1000H+i表示学号为i的学生成绩。编写程序使得在2000H开始的区域排出名次表。2000H+i为学号为i的学生的名次。

三、将键盘输入的小写字母转换成大写字母的设计

四、流程图

五、实验参考程序

DATA SEGMENT

BUF DB 82 DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START: MOV AX,DATA

MOV DS,AX

MOV ES,AX ;段寄存器初始化

MOV BX,OFFSET BUF ;BX指向字符行缓冲区首址

KKK: MOV SI,00H ;指针SI清0

GGG: MOV AH,01H ;接收键入字符

INT 21H

CMP AL,03H

JZ PPP ;是CTRL-C键则转结束

CMP AL,0DH

JZ BBB ;是回车键则转BBB

CMP AL,61H

JB TTT

CMP AL,7AH

JA TTT ;不是小写字母转TTT

SUB AL,20H ;小写字母转化为大写字母

TTT: MOV [BX+SI],AL ;存入字符行缓冲区中

INC SI ;指针加1

JMP GGG

BBB: MOV [BX+SI],AL

MOV AL,0AH

MOV [BX+SI+1],AL ;加入换行符

MOV AL,'$'

MOV [BX+SI+2],AL ;再加一个'$'标志字符

MOV AH,09H

MOV DX,BX

INT 21H ;显示转换后的字符串

JMP KKK

PPP: MOV AH,4CH

INT 21H

CODE ENDS

END START

该程序段中的一些指令功能:

CMP:比较指令。将源操作数和目的操作数相减,结果不存储。影响标志位。

JZ:条件跳转指令。零标志ZF为1,则转移。

JB:条件跳转指令。低于、或不高于且不等于,则跳转。

JA:条件跳转指令。高于、或不低于且不等于,则跳转。

SUB:算术减法指令。将目的操作数减源操作数,结果送目的操作数。。

JMP:无条件转移指令。

该程序段中,SUB AL,20H,表示将输入字符的ASCII码减去20 从而实现将小写字母转换成大写。JMP KKK,无条件转移到KKK程序段,从而实现程序的循环,对输入的字符串中的下一个字符进行判断。

六、心得体会

通过这一个星期微机原理的课程设计,我对微机原理这门课程有了更进一步的了解。通过自己积极地查阅相关资料,请教老师,与同组的同学一起讨论,最终完成设计。

本学期做了许多微机原理的实验,这次要用汇编语言来实现大小写字母的转换,所以自己一开始感觉这会非常的简单。直到真正的理解相关原理,要编写程序实现的时候,才发现,自己对汇编程序的了解确实还不够,尤其是编程方面的能力有待提高。在不断地再次学习和理解过程中,我慢慢掌握了更多汇编语言的应用知识,更为值得骄傲的是,自己在参考程序的辅助下顺利编写出了大小写字母转换的程序。

把编写好的程序输入软件时候,出现了许多小问题,比如句子没有加逗号,没有定义变量等等。归纳起来都是因为编程掌握不牢固,写程序没有条理,加上自己粗心大意的恶习依旧没改正造成的,以后需要努力改正。

通过本次课程设计我学到了很多新的东西,极大地拓宽了我的知识面,锻炼了能力,综合素质也得到较大提高,我感到收获不小。但在设计中也发现了大量问题,有些在设计过程中已经解决,有些还需要在今后慢慢学习,只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。

总的来说,这次课程设计,自己受益匪浅。不但加固了微机原理部分知识的理解,而且加强了对汇编语言的应用能力。

将小写字母转换成大写字母

/*将小写字母转换成大写字母*/ #include main() { char a; printf("请输入一个小写字母:\n"); scanf("%c",&a); a=a-32; printf("输出的大写字母:%c\n",a); } /*输入菱形几何图案*/ #include main() { int i,j,width; printf("输入最大的菱形宽度值:\n"); scanf("%d",&width); for(i=1;i<=width;i++) { for(j=1;j<=i;j++) printf("*"); printf("\n"); } for(i=1;i<=width;i++) { for(j=1;j<=i;j++) printf(" "); for(j=i;j<=width-1;j++) printf("*"); printf("\n"); } }

还有另一种 /*输出菱形图案*/ #include #include main() { int n,i,j,k; printf("请输入奇数"); scanf("%d",&n); for(i=1;i<=(n+1)/2;i++) { for(j=(n-(2*i-1))/2;j>=0;j--) printf(" "); for(k=1;k<=2*i-1;k++) {printf("*");} printf("\n"); } for(i=1;i<=(n-1)/2;i++) { for(j=0;j<=i;j++) printf(" "); for(k=1;k<=n-2*i;k++) printf("*"); printf("\n"); } system("pause"); }

小写金额转换为大写金额(C实现)

前言 银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载帐务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。 我的服务需要一个金额转换过程,本来想在网上找,但都是C++、JavaScript、Delphi 的Demo,还没有C的。索性自己写一个。参考了其它的转换算法,对我有些启发。 大多的算法都是直接分析字符串生成大写金额,即存在一个假设:源字符串的格式是正确的。在我的过程中,用状态机的方法分析源字符串,错误时,返回空指针(我可不敢保证传给我的过程的都是##.##)。分析出源字符串中整数部有多少个数字,是否有小数,统计结果放在一个结构体中,整数和小数部分的数字分别放在两个整形数组里。 有了统计数据就可以生成大写金额了。转换过程有个难点:要区分万、亿等“段”,特别是个位这个“段”,这个概念是在《小写转大写金额在C++中的实现》文章中提到的。在下面的程序中用j= ( size - i - 1 ) & 0x3,实际上是j = ( size - i - 1 ) % 4取模,j==0时为段尾,需要特殊处理。所有的处理都是围绕0来进行的,也就是说,0才是难点。 特殊位置的0,按段分,段中第一个非0数字前的0,可能有多个;段中两个非0数字间的0;段尾的0;个位的0;十分位,角位置的0。 另外,转换的一个重点是大写金额的写法,好像大多的算法都注重转换过程而对这个问题没有深究。我在文章后面附上转换规则。 下面是代码 1./** 2.* @brief 将源字符串中的小写金额转换为大写格式 3.* 4.* @param dest 目的字符串 5.* @param src 小写金额字符串 6.* @return 7.* - NULL 源字符串的格式错误,返回NULL 8.* - 非NULL 目的字符串的首地址 9.* @note 转换根据:中国人民银行会计司编写的最新《企业、银行正确办理支付结 算 10.* 指南》的第114页-第115页 11.*/ 12.char* chineseFee( char* dest, char* src ) 13.{

WORD数字小写金额变大写

Sub 小写金额变大写() Dim Numeric As Currency, IntPart As Long, DecimalPart As Byte, MyField As Field, Lable As String Dim Jiao As Byte, Fen As Byte, Oddment As String, Odd As String, MyChinese As String Const ZWDX As String = "壹贰叁肆伍陆柒捌玖零" '定义一个中文大写汉字常量 On Error Resume Next '错误忽略 With Selection Numeric = VBA.Round(VBA.V al(.Text), 2) '四舍五入保留小数点后两位 '判断是否在表格中!!此处为向左MoveLeft移动1(count)个单元格(wdCell) If .Information(wdWithInTable) Then _ .MoveLeft unit:=wdCell, Count:=1 Else .MoveRight unit:=wdCharacter '对数据进行判断,是否在指定的范围内 If VBA.Abs(Numeric) > 2147483647 Then MsgBox "数值超过范围!", _ vbOKOnly + vbExclamation, "Warning": Exit Sub IntPart = Int(VBA.Abs(Numeric)) '定义一个正整数 Odd = VBA.IIf(IntPart = 0, "", "元") '定义一个STRING变量 '插入中文大写前的标签 Lable = VBA.IIf(Numeric = VBA.Abs(Numeric), "人民币大写: ", "金额大写: 负") '对小数点后面二位数进行择定 DecimalPart = (VBA.Abs(Numeric) - IntPart) * 100 Select Case DecimalPart Case Is = 0 '如果是0,即是选定的数据为整数 Oddment = VBA.IIf(Odd = "", "", Odd & "整") Case Is < 10 '<10,即是零头是分 Oddment = VBA.IIf(Odd <> "", "元零" & VBA.Mid(ZWDX, DecimalPart, 1) & "分", _ VBA.Mid(ZWDX, DecimalPart, 1) & "分") Case 10, 20, 30, 40, 50, 60, 70, 80, 90 '如果是角整 Oddment = "元" & VBA.Mid(ZWDX, DecimalPart / 10, 1) & "角整" Case Else '既有角,又有分的情况 Jiao = VBA.Left(CStr(DecimalPart), 1) '取得角面值 Fen = VBA.Right(CStr(DecimalPart), 1) '取得分面值 Oddment = Odd & VBA.Mid(ZWDX, Jiao, 1) & "角" '转换为角的中文大写 Oddment = Oddment & VBA.Mid(ZWDX, Fen, 1) & "分" '转换为分的中文大写 End Select '指定区域插入中文大写格式的域 Set MyField = .Fields.Add(Range:=.Range, Text:="= " & IntPart & " \*CHINESENUM2") MyField.Select '选定域(最后是用指定文本覆盖选定区域) '如果仅有角分情况下,Mychinese为"" MyChinese = VBA.IIf(MyField.RESULT <> "零", MyField.RESULT, "") .Text = Lable & MyChinese & Oddment End With End Sub

VB教案1_小写字母转换为大写字母

1 小写字母转换为大写字母 【教学目标】初步了解算法,并能写出本题算法。 【重点难点】算法。 【教学用时】2课时。 【教学过程】 一、算法: 1. 程序=算法+数据结构。 2. 算法定义:在数学和计算机科学之中,算法为一个计算的具体步 骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令来用于计算函数。 3. 数据结构定义:在计算机科学或信息科学中,数据结构是计算机 中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优效率的算法。 4. 在设计程序的过程中,把算法——问题的解决步骤表达清楚是很 关键的一步,学习程序设计应从把算法表达清楚开始。 5. 写算法的时候急不得,应通过一步步的细化来完成。开始学习写 算法时,应尽可能使用自己熟悉的表达方式,而不要去模仿别人的风格。这样,你才能将精力放在解决问题上。 6. 写算法就是教电脑做事情的步骤,电脑计算力、记忆力、执行力 惊人,但智商近于0,所以,步骤必须一清二楚,而且必须是计算机做得来的——计算、赋值、如果……否则、重复做。写算法的时候不妨以教师的身份这样说:“小电脑,这道题是这样来做的……” 二、“小写字母转换为大写字母”算法设计: 1. 思考:要将小写字母转换为大写字母,你要告诉电脑怎样的做法、 步骤? 答:“小电脑,你得先让用户告诉你要转换的小写字母,然后将它转换成大写字母,然后把这个大写字母告诉用户。” 2. 算法初步整理如下: (1)输入小写字母(用变量xiaoxie表示)

(2)把小写字母转换成大写字母(用变量daxie表示) (3)输出大写字母 3. 问题:如何转换?需要细化,方法: (1)求xiaoxie的ascii码 (2)把它减去32(由下表可知,小写字母和大写字母的ascii码差32) (3)求对应的字符 4. 相应的VB代码: Xiaoxie = inputbox(“请输入一个小写字母”) Daxie = chr(asc(xiaoxie)-32) Print xiaoxie;“转换后是”;daxie

大小写转换公式

Excel自动转换数字大小写具体的操作步骤如下: 1. 启动excel。按“alt+f11”快捷键打开“visual basic编辑器”。 2. 在“visual basic编辑器”中,单击“插入”菜单栏中的“模块”命令,插入一个模块。双击左侧“工程”窗口中的“模块1”选项,在窗口右边展开“模块1(代码)”编辑窗口,然后输入如下代码: function dx(q) dim cur as long,yuan as long dim jiao as integer,fen as integer dim cnyuan as string, cnjiao as string, cnfen as string if q = "" then dx = 0 exit function end if cur = round(q * 100) yuan = int(cur / 100) jiao = int(cur / 10) - yuan * 10 fen = cur - yuan * 100 - jiao * 10

cnyuan = application.worksheetfunction.text(yuan, "[dbnum2]") cnjiao = application.worksheetfunction.text(jiao, "[dbnum2]") cnfen = application.worksheetfunction.text(fen, "[dbnum2]") dx = cnyuan & "元" & "整" d1 = cnyuan & "元" if fen <> 0 and jiao <> 0 then dx = d1 & cnjiao & "角" & cnfen & "分" if yuan = 0 then dx = cnjiao & "角" & cnfen & "分" end if end if if fen = 0 and jiao <> 0 then dx = d1 & cnjiao & "角" & "整" if yuan = 0 then dx = cnjiao & "角" & "整"

如何将小写金额变成大写数值

如何将小写数值变成大写数值 =IF(C10<0,"金额为负无效",IF(OR(C10=0,C10=""),"零元整",IF(C10<1,"",TEXT(INT(C10),"[dbnum2]G/通用格式")&"元"))) & IF(INT(C10*10)-INT(C10)*10=0,IF(INT(C10)*(INT(C10*100)-INT(C10*10)*10)=0,"","零"),TEXT(INT(C10*10)-INT(C10)*10,"[dbnum2]")&"角")&IF((INT(C10*100)-INT(C10*10)*10)=0,"整",TEXT((INT(C10*100)-INT(C10*10)*10),"[dbnum2]")&"分") excel表格中如何将小写金额转换为大写金额,如数值为0时则不在表中显示,如数值为负时则显示“负***”=IF(H12=0,"",IF(INT(H12),TEXT(TRUNC(H12),"[dbnum2]")&"元","")&IF(MOD(H12,1)=0,"整",IF(TRUNC(H12,1),IF(H12=TRUNC(H12,1),TEXT(LEFT(RIGHT(H12*100,2)),"[dbnum2]0角整"),TEXT(RIGHT(H12*100,2),"[dbnum2]0"&IF(LEFT(RIGHT(H12*100,2))="0","","角")&"0分")),TEXT(H12*100,"[dbnum2]0分")))) 如何在excel中输入小写金额,自动转换为大写金额 假设Sheet1的A4是你阿拉伯合计金额,以下为Sheet2中的小写金额=Sheet1!A4 假设这个公式是在Sheet2的C6单元格里,以下为大写金额=IF(INT(C6)-C6=0,TEXT(C6,"[DBNum2][$-804]G/通用格式""元整"""),TEXT(INT(C6),"[DBNum2][$-804]G/通用格式""元""")&TEXT(RIGHT(INT(C6*10),1),"[DBNum2][$-804]G/通用格式""角""")&TEXT(RIGHT(INT(C6*100),1),"[DBNum2][$-804]G/通用格式""分""")) 解释:IF(INT(C6)-C6=0,一串,另一串),如果C6是整数(函数INT是取整的意思,取整后减去原数为0,说明是整数),返回一串,否则返回另一串。函数TEXT(数,”格式“)把数变为指定格式,而”[DBNum2][$-804]G/通用格式“就是中文大写格式。函数RIGHT(字符串,位数)返回字符串最后几位数。元角分也是格式的一部分,""在已经有的引号范围内表示一个引号。

单元格小写金额自动转换成大写金额

Excel中怎么实现小写金额自动转换成中文大写金额 EXCEL中数字小写换大写方法一: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负 ","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元 "&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10) ),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角 ","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBN um2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","") EXCEL中数字小写换大写方法二: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,"整","零 "&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分 "),TEXT(INT(A2),"[DBNum2]G/通用格式")&"元 "&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10)-INT(A2)*10),"[D BNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分")) EXCEL中数字小写换大写方法三: =IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整 ",TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆 "&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角 "&TEXT(INT((A2*10-INT(A2*10))*10),"[DBNum2]G/通用格式")&"分") EXCEL中数字小写换大写方法四: =IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整 ",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM2]")&"元 "&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整 ",TEXT(INT(A2),"[DBNUM2]")&"元"&IF(INT(A2*10)-INT(A2)*10=0,"零

大小写字母转换

汇编语言课程设计 1.设计的目的和任务 (1)目的:课程设计是本科教学全过程中重要环节。其目的是培养计算机专业学生运用所学知识解决计算机应用领域内实际问题能力,进一步提高学生汇编语言综合编程能力,程序调试技能。 (2)任务:能够按照设计题目完成相应设计;撰写设计报告。 完成设计任务,撰写设计报告,上交源程序和可执行程序,源程序加注释 3.设计地点 自己的计算机 4.主要仪器设备(实验用的软硬件环境) 普通微机一台;汇编语言环境(基于DOS环境:EDIT、MASM、LINK、DEBUG;基于Windows环境) 5.设计内容 实现小写字母向大写字母的转换,主要利用小写字母比大写字母大20H的关系,实现大写字母向小写字母的转换,将大写字母的ASCII值加上20H就可以换成小写字母。键盘输入,显示输出。 从键盘上输入一串字符,若是小写字符则转换成大写字符在下一行输出,若是大写字符则转换成小写字符在下一行输出,若都不是则原样在下一行输出。 程序流程图如下:

6.源程序 DA TA SEGMENT P1 DB 100 P2 DB 0 ARRAY DB 100 DUP(?) ;置100个字节的缓冲区存放数据DA TA ENDS CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DA TA START:

LEA BX,ARRAY ;将ARRAY的首地址给BX MOV AX,CS MOV DS,AX MOV DX,OFFSET P1 ;将P1的偏移量给DX MOV AH,0AH ;调用中断21的0A号功能从键盘接收字符 INT 21H MOV BX,0 MOV BL,P2 MOV ARRAY[bx],’$’;送$至字符串尾 MOV DI,0FFFFH NEXT: INC DI ;DI自加 CMP ARRAY[DI],’$’;比较 JE NEIT ;相等,转到EXIT CMP ARRAY[DI],41H ;ARRAY[DI]中的字符与A比较 JL NEXT ;小于则转 CMP ARRAY[DI],5AH ;与Z比较 JG NEXT1 ;大于则转 ADD ARRAY[DI],20H ;加20H大写转小写 JMP NEXT NEXT1: CMP ARRAY[DI],’$’;比较 JE EXIT ;相等则转 CMP ARRAY[DI],61H ;ARRAY[DI]中的字符与a比 JL NEXT ;小于则转 CMP ARRAY[DI],7AH ;与z比较 JG NEXT ;大于则转 SUB ARRAY[DI],20H ;减20h,小写转大写 JMP NEXT EXIT: MOV P1,0DH ;回车换行 MOV P2,0AH MOV AH,09H INT 21H MOV AH,4CH ;程序结束 INT 21H CODE ENDS END START 6.问题讨论与分析 通过这次实验,总结出了该如何分析和编写程序:1,画出整个程序的流程图,理解整个程序流程的思想。画流程图的方式更让人很直

字母大小写转换

8086汇编字母大小写转换 一、要求 从键盘输入字母,将大写字母转化为小写字母,将小写字母转化为大写字母,然后在字幕上显示转换后的结果。(键盘输入在所有大小写字母的ASCLL范围内则转换,否则报错) 二、汇编代码 ; multi-segment executable file template. data segment ; add your data here! letterdb 0 pkeydb 0dh,0ah,'please input your letter...',0dh,0ah,'$' pkey1db 0dh,0ah,'are you contine...',0dh,0ah,'$' pkey2db 0dh,0ah,'your letter is wrong!',0dh,0ah,'$' pkey3db 0dh,0ah,'the transformational letter is',0dh,0ah,'$' ends stack segment dw 128 dup(0) ends code segment assumecs:code,ds:data,ss:stack start: ; set segment registers: mov ax, data mov ds, ax moves, ax ; add your code here cnt: lea dx, pkey mov ah, 9 int 21h ; output string at ds:dx

; wait for any key.... mov ah, 1 int 21h movletter,al cmp al,'@' jcless_than jncgreater_than greater_than: cmp al,'{' jc less_than1 jnc greater_than1 less_than: lea dx, pkey2 mov ah, 9 int 21h jmp quit greater_than1: lea dx, pkey2 mov ah, 9 int 21h jmp quit less_than1: cmpal,'a' jc less_than2 jnc greater_than2 greater_than2: lea dx, pkey3 mov ah, 9 int 21h moval,letter sub al,32 movletter,al movdl,letter mov ah,2 int 21h lea dx, pkey1 mov ah, 9

EXCEL文本函数-数字小写换大写英文大小写互换

EXCEL文本函数-数字小写换大写/英文大小写互换 在大小写中英文互换公式中我们先假设每个表都有表头,且数字在第二行,在A2单元格内 注意:公式可以随意拖动至任意指定单元格,公式内对象不变;可复制(待鼠标变成黑色十字再拖);也可利用查找-替换-全部替换单元格如A2---全部换成F15 EXCEL中数字小写换大写方法一: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF (ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(ISERR (FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND (A2,2)),"[DBNum2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","") EXCEL中数字小写换大写方法二: 在单元格A2中输入小写数字123.12 B2处输入以下公式 =IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-IN T((A2)*10)*10)=0,"整","零"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"),TE XT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10) -INT(A2)*10),"[DBNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分")) EXCEL中数字小写换大写方法三: =IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整",TEXT(INT(A2),"[DBNum2]G/通用 格式")&"圆"&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT((A2*10-INT(A2* 10))*10),"[DBNum2]G/通用格式")&"分") EXCEL中数字小写换大写方法四: =IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM 2]")&"元"&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整",TEXT(INT(A2),"[DBNUM2]")&"元"& IF(INT(A2*10)-INT(A2)*10=0,"零",TEXT(INT(A2*10)-INT(A2)*10,"[DBNUM2]")&"角")&TEXT(RIGHT (A2,1),"[DBNUM2]")&"分")) 看看结果是不是出现了你想要的?应该有你需要的大写金额了 公式的由来: 仟分位公式如下: =TEXT(IF(LEN(INT($A1))>=4,MID($A1,LEN(INT($A1))-3,1),""),"[DBNum2]")

代码转换(大小写字母转换)

北华航天工业学院 课程设计报告(论文) 设计课题:代码转换 大小写字母转换 专业班级:电子信息工程 学生姓名: 指导教师: 设计时间: 2010-12-16

北华航天工业学院电子工程系 微机原理课程设计任务书 指导教师:教研室主任: 年月日

内容摘要 在课程设计之前,具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法是必不可少的。因此原理部分重新温习并整理了相关知识。 课程设计要求进行大小写字母的转换。其实字母大小写的区别在于他们的ASCII码范围,它们之间的转换其实就是加减相应的ASCII码值。在判断输入的字母是大写的还是小写的(即判断输入符号ASCII码在41H~5AH还是在61H~7AH内)之后,决定判断是加上还是减去ASCII码值。 关键词:汇编代码转换大小写

目录 一、概述 (1) 二、方案设计与论证 (1) 1.汇编语言基础 (1) 2.方案设计 (2) 三、程序设计 (3) 1.程序设计流程图 (3) 2.程序代码 (4) 四、运行结果 (5) 五、心得体会 (6) 六、参考文献 (6)

一、概述: 在计算机系统中有多种数制和编码,常用的数制有二进制、八进制以及十六进制,常用的代码有BCD码、ASCll码和七段显示码等。这些数制和编码根据其作用的不同,在存储形式上也有差异。在实际应用中,它们也因使用的要求不同而有所差异。在配备操作系统管理程序的计算机中,有些代码转换程序已在系统管理软件中编好。还有些代码转换需要根据使用要求通过编程完成。因此,代码转换是非数据处理中最常见的情况。 二、方案设计: 1、汇编语言基础 汇编:计算机不能直接识别和执行汇编语言程序,而要通过“翻译”把源程序译成机器语言程序(目标程序)才能执行,这一“翻译”工作称为汇编。汇编有人工汇编和计算机汇编两种方法。 汇编语言是面向机器的,每一类计算机分别有自己的汇编语言。汇编语言占用的内存单元少,执行效率高,广泛应用于工业过程控制与检测等场合。 汇编语言语句格式 标号:操作符操作数;注释 START: MOV A, 30H ;A←(30H) 标号用来标明语句地址,它代表该语句指令机器码的第一个字节的存储单元地址。 标号一般规定由1~8个英文字母或数字组成,但第一个符号必须是英文字母。 注释只是对语句或程序段的含义进行解释说明,以方便程序的编写、阅读和交流,简化软件的维护,一般只在关键处加注释。 伪指令:伪指令只用于汇编语言源程序中,对汇编过程起控制和指导的作用,不生成机器码。汇编结束,自动消失。 汇编语言程序设计步骤

将一个字符串中的小写字母变成大写字母

将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母. package java3; import java.util.Scanner; public class t3 { public static String StringChange(String s) { //if(s.equals("")||s==null) // return "没有字符"; StringBuilder sb=new StringBuilder(); int len=s.length(); char c; for (int i = 0; i < len; i++) { c=s.charAt(i); if(c>='a'&&c<='z'){ //小写变大写 c=(char)(c-32); }else if(c>='A'&&c<='Z'){//大写变小写 c=(char)(c+32); } sb.append(c); } return sb.toString(); } public static void main(String[] args) { String s=""; ///System.out.println("请要转换的英文字符串:"); //Scanner sca=new Scanner(System.in); //String s=sca.next(); //System.out.println("你输入内容是:"+s); if(s.equals("")||s==null) System.out.println("没有字符"); else{ System.out.println("转换后字符串为"); System.out.println(StringChange(s)); }

人民币小写金额转换成大写格式

人民币小写金额转换成大写格式 要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那么用Excel 能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。 一、在三个连续的同行单元格中转换 1. B2中输入公式“=IF(B1〈0,"金额为负无效",INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。 2. C2中输入“=IF(B1〈0,"",INT(B1 10)-INT(B1) 10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。 3. D2中输入“=IF(B1〈0,"",INT(B1 100)-INT(B1 10) 10)”,同样D2改为:[DBNum2]G/通用格式“分”, D2显示:“玖分”。 这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1所示。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。

二、用Excel提供的函数转换 个位为0,则不显示;不为0,显示“XXX元”;不为0、且角位和分位均为0,显示“XXX元整”;元角分位均为0,则显示“零元整”。 小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示“零”;不为0,显示“X角”。 小数点后面第二位为0,则显示“整”;不为0,显示“X分”。 根据以上思路在B2中输入公式: “IF(B1〈0,"金额为负无效",IF(OR(B1=0,B1=""),"(人民币)零元整")); IF(B1〈1,"(人民币)",TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&&"元")&&IF(INT(B1 10)-INT(B1) 10=0); IF(INT(B1) (INT(B1 100)-INT(B1 10) 10)=0,"","零"),TEXT(INT(B1 10)-INT(B1) 10,"[dbnum2]")&&"角")&&IF((INT(B1 100)-INT(B1 10) 10)=0,"整",TEXT((INT(B1 100)-INT(B1*10)*10),"[dbnum2]")&&"分")))”。 确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。

Word中通篇转换字母大小写

Word中通篇转换字母大小写 用Word写作时忘了及时应用字母大小写规则,或者忘记使用全角或半角字符规则了,怎么办?有什么办法实现这些格式的快速统一吗?下面分别介绍几种情况的快速统一办法。 一、录入英文文章忘掉应用大小写规则 1. 在Word中选择要转换的英文文档,选择系统“格式→更改大小写”命令(图1)。 2. 在弹出的“更改大小写”窗口中选择“句首字母大写”(图2)。 3. 单击“确定”按钮。 二、通篇文章或特定块内大小写字母的转换 如果要把文档中的大写字母转换成小写,小写字母转换成大写,可用如下方法:

1. 在Word中用Ctrl+A组合键选择要转换的整个文档,或用鼠标选择要转换的部分文档,选择系统“格式→更改大小写”命令(图1)。 2. 在弹出的“更改大小写”窗口中选择“转换大小写”(图3)。 3. 单击“确定”按钮。 三、把拼音串或英文转为词首字母大写 有时在做广告或标题时,我们需要每个英文单词或汉语拼音的词首都用大写字母,如果我们在输入时忘了按规则进行,则可以在输入完毕后统一设置: 1. 在Word中用Ctrl+A选择要转换的整个文档或用鼠标选择要转换的部分文档,选择系统“格式→更改大小写”命令(图1)。 2. 在弹出的“更改大小写”窗口中选择“词首字母大写”(图4)。 3. 单击“确定”按钮。 四、将通篇文章或特定块内字符统一转为大写或小写

如果要把文档中的字母统统转换成小写或大写,可用如下方法实现: 1. 在Word中用Ctrl+A选择要转换的整个文档或用鼠标选择要转换的部分文档,选择系统“格式→更改大小写”命令(图1)。 2. 在弹出的“更改大小写”窗口中选择“大写”或“小写”(图5)。 3. 单击“确定”按钮。 五、将通篇文章或特定块内字母或数字转换为全角或半角 如果要把文档中的字母或数字统统转换成全角或半角,也可以借助这个窗口开转换,具体实现方法如下: 1. 在Word中用Ctrl+A选择要转换的整个文档或用鼠标选择要转换的部分文档,选择系统“格式→更改大小写”命令(图1)。 2. 在弹出的“更改大小写”窗口中选择“半角”或“全角”(图6)。 3. 单击“确定”按钮。

微机原理课程设计 汇编语言 ——将键盘输入的小写字母转换成大写字母的设计

设计6、将键盘输入的小写字母转换成大写字母的设计 1.实验要求: 为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。 2.参考流程:

3.程序清单: DATA SEGMENT DATA1 DB 20 DUP(?) DISPP1 DB 'please input letters, end with enter, exit with ctrl-c',0DH,0AH,'$' DISPP2 DB 'the inverted litter is:', 0DH, 0AH,'$' DISPP3 DB 0DH,0AH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,00H MOV BX,OFFSET DATA1 LEA DX,DISPP1 MOV AH,9 INT 21H L1: MOV AH,1 INT 21H CMP AL,03H JZ L4 CMP AL,0DH JZ L3 CMP AL,61H JZ L2 SUB AL,20H JMP L2 L2: MOV [BX+SI],AL INC SI JMP L1 L3: LEA DX,DISPP3 MOV AH,9 INT 21H LEA DX,DISPP2 MOV AH,9 INT 21H MOV [BX+SI],AL MOV AL,0AH MOV [BX+SI+1],AL MOV AL,'$' MOV [BX+SI+2],AL MOV DX,BX MOV AH,9 INT 21H

汇编实现大小写字母转换程序

一、题目要求 编写程序,接收键盘输入的字符串,将其中大写字母转化为小写字母,并显示转化后的字符串。键盘输入的字符串存于STRBUF缓冲区中,最多输入30个字符。 二、实现原理 字符串是由若干个字符构成,而字符在计算机中以ASCII码形式存储,因此字符串是一个ASCII码序列。小写字符’a’…’z’的ASCII是61H~7AH,大写字符A’…’Z’的ASCII是41H~5AH,因此将大写字母转化为小写字母的方法是:大写字母ASCII加上20H。 三、实验程序及流程图 程序首先调用0A号功能,等待用户输入字符串,并存入STRBUF中。然后对输入字符逐个检测,若为大写字符,则将其转化为小写字符,否则不变。最后采用循环结构,使用02号调用,逐个显示字符串中的字符。流程图如图4.11所示。 –1–

图4.11 程序流程图 程序代码如下。 DATA SEGMENT STRBUF DB 30,?,31 DUP (?) ;定义键盘接收缓冲区DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: –2–

第27章单片机实现密码锁MOV AX,DA TA MOV DS,AX LEA DX,STRBUF MOV AH,0AH INT 21H ;0A号调用,等待用户输入字符串 MOV CL,STRBUF+1 CMP CL,00 JZ EXITP MOV CH,00H MOV SI,2 XX1: MOV AL,STRBUF[SI] ;读取一个字符 CMP AL,’A’ JB NEXT CMP AL,’Z’ JA NEXT ;判断是否是大写字符,ASCII在41H~5AH之间 ADD STRBUF[SI],’a’-‘A’;大写字母ASCII值加20H NEXT: INC SI LOOP XX1 MOV DL,0AH MOV AH,02H INT 21H ;控制换行 MOV CH,00 MOV CL,STRBUF+1 MOV SI,2 XX2: MOV DL,STRBUF[SI] MOV AH,02H INT 21H INC SI LOOP XX2 ;显示字符串 EXITP: MOV AH,4CH INT 21H CODE ENDS END START –3–

Word中数字金额小写

Word中数字金额小写“变”大写有两招 在日常的办公应用中,尤其是作为一名财务人员,经常需要输入大写金额的形式的数字,“肆仟叁佰五拾元零伍分”,如果用手工输入的话,显得比较麻烦,其实只要通过输入小写数字并通过如下两招就能达到快速输入的目的。 第一招:釜底抽薪——自动更正法 如果需要重复的输入一个大写数字金额,可以采用自动更正的方法。例如要重复输入“肆仟叁佰伍拾元零伍分”,可以先输入“肆仟叁佰伍拾元零伍分”并选中它,然后执行菜单“工具→自动更正选项”打开“自动更正”对话框(图1),在“替换”下的框内输入“4350.05”并单击“添加”按钮确定后退出,以后直接输入“4350.05”后回车即可快速得到“肆仟叁佰伍拾元零伍分”。 第二招:一劳永逸——编制自动宏 如果有许多小写金额要变成大写的话,用上面的自动更正的方法需要定义很多自动更正项,显然也比较麻烦,其实只需要编辑一个宏就能做到“一劳永逸”了。启动Word后按下A lt+F11组合键,在打开的工程窗口左侧双击“ThisDocument”进入代码编写窗口,在代码编辑窗口中输入如下代码: Option Explicit Sub 小写金额变大写() Dim Numeric As Currency, IntPart As Long, DecimalPart As Byte, MyField As Field, Lable As String Dim Jiao As Byte, Fen As Byte, Oddment As String, Odd As String, MyChinese As String Const ZWDX As String = "壹贰叁肆伍陆柒捌玖零" ''定义一个中文大写汉字常量 On Error Resume Next ''错误忽略 With selection Numeric = VBA.Round(VBA.Val(.Text), 2) ''四舍五入保留小数点后两位 ''判断是否在表格中 If .Information(wdWithInTable) Then _ .MoveRight unit:=wdCell Else .MoveRight unit:=wdCharacter ''对数据进行判断,是否在指定的范围内 If VBA.Abs(Numeric) > 2147483647 Then MsgBox "数值超过范围!", _ vbOKOnly + vbExclamation, "Warning": Exit Sub IntPart = Int(VBA.Abs(Numeric)) ''定义一个正整数 Odd = VBA.IIf(IntPart = 0, "", "圆") ''定义一个STRING变量 ''插入中文大写前的标签 Lable = VBA.IIf(Numeric = VBA.Abs(Numeric), "人民币金额大写:", "人民币金额大写:负") ''对小数点后面二位数进行择定 DecimalPart = (VBA.Abs(Numeric) - IntPart) * 100 selectCase DecimalPart Case Is = 0 ''如果是0,即是选定的数据为整数

相关文档
相关文档 最新文档