当前位置:文档之家› 将大写字母转换为对应小写字母之后的第5字母;若小写字母为v~z,使小写字母的值减21。

将大写字母转换为对应小写字母之后的第5字母;若小写字母为v~z,使小写字母的值减21。

将大写字母转换为对应小写字母之后的第5字母;若小写字母为v~z,使小写字母的值减21。
将大写字母转换为对应小写字母之后的第5字母;若小写字母为v~z,使小写字母的值减21。

下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第5字母;若小写字母为v~z,使小写字母的值减21。转换后的小写字母作为函数值返同。例如,若形参是字母A,则转换为小写字母f。形参是字母W,则转换为小写字母b。

请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

char fun(char c)

{

/********found********/

if (c>= 'A' && c<='Z')

c = c-32;

/********found********/

if (c>='a' && c<='u')

c = c-5;

else if (c>='v' && c<='z')

c = c-21;

return c;

}

main ( )

{

char cl, c2;

printf("\nEnter a letter(A-Z):");

cl = get char( );

if (isupper(cl))

{

c2 = fun(cl);

printf("\n k nThe letter %c change to %c\n",cl,c2);

}

else

{

printf("\nEnter (A-Z) !\n");

}

}

(1)错误:c=c-32 正确:c=c+32;

(2)错误:c=c-5 正确:c=c+5;

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

/*将小写字母转换成大写字母*/ #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 & "角" & "整"

大小写字母转换

汇编语言课程设计 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)); }

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,即是选定的数据为整数

从键盘输入一个字符-判定是否是小写字母-如果是-则将它转换成大写字母-如果是其他字符则原样输出。

从键盘输入一个字符,判定它是否是小写字母,如果是,则将它转换成大写字母,如果是其他字符则原样输出。 如何判断一个字符是小写字母?查上一章提供的ASCII码表.在表里,小写字母(a~z)对应的ASCII值为97~122.那么,判断一个字符是否为小写,就看它的值是否大于等于'a',并且小于等于'z'. #include void main(){ char a; printf("\n请输入一个字符"); scanf("%c",&a); if((a>='a'&&a<='z')){ printf("\n您输入的字符是小写字母",a); }else{ printf("您输入的字符不是小写字母\n",a); } } (2)验证输入的一个字符是否为大写字母 #include void main(){ char a; printf("请输入一个字符\n"); fflush(stdin); a=getchar(); if('A'<=a && a<='Z'){ printf("用户输入的是大写字线%c\n",a); }else{ printf("用户输入的不是大写字母%c\n",a); } } (3) 要求判别键盘输入字符的类别.可以根据输入字符的ASCII码来判别类型.由ASCII 码表可 知ASCII码值小于32的为控制字符.在0~9之间的为数字,在A~Z之间的为大写字母,在a~z之间的为 小写字母,其余的则为其他字符. #include void main(){ char c;

printf("\n请输入一个字符:"); c=getchar(); if(c<32) printf("\n该字符是一个控制字符\n"); else if(c>='0' && c<='9') printf("\n该字符是一个数字"); else if(c>='A' && c<='Z') printf("\n该字符是一个大写字母"); else if(c>='a' && c<='z') printf("\n该字符是一个小写字母\n"); else printf("\n该字符是一个其它字符\n"); } 2. seizeof(type_name) sizeof 运算符的用法 #include void main(){ printf("\n char 类型的大小是%d字节\n",sizeof(char)); printf("short int 类型的大小是%d 字节\n",sizeof(short int)); printf("unsigned short int 类型的大小是%d 字节\n",sizeof(unsigned short int)); printf("int 类型的大小是%d 字节\n",sizeof(int)); printf("unsigned int 类型的大小是%d字节\n",sizeof(unsigned int)); printf("long 类型的大小是%d 字节\n",sizeof(long)); printf("unsigned long 类型的大小是%d 字节\n",sizeof(unsigned long)); printf("float 类型的大小是%d 字节\n",sizeof(float)); printf("double类型的大小是%d 字节\n",sizeof(double)); } 3.判定给定的年分是否为闰年. 闰年的判定规则为:能被4整除但不能被100整除的年分,或能被400整除的年份. #include void main(){ int year;

数字大写转换(简单实用

如何将小写数字自动转换为大写数字 发表日期:2008年7月24日共浏览3393次字体颜色:选择颜色 【字体:放大正 常缩小】 我们在日常工作中经常遇到既要输入小写,又要输入大写,比如开填支票。在开填支票时往往出现小写金额与大写金额不吻合,特别时数字长的最容易出错。现在这个问题得到了解决,只要把小写数字一输入,大写数字就自动产生,又快又准确。如何使用,请看下文。 一、公式及公式介绍 =IF(A1<0,"金额为负无效", (IF(OR(A1=0,A1=""),"(人民币)零元", IF(A1<1,"(人民币)", TEXT(INT(A1),"[dbnum2](人民币)G/通用格式")&"元"))))& IF( (INT(A1*10)-INT(A1)*10)=0, IF(INT(A1*100)-INT(A1*10)*10=0,"","零"), (TEXT(INT(A1*10)-INT(A1)*10,"[dbnum2]")&"角")) &IF( (INT(A1*100)-INT(A1*10)*10)=0, "整", TEXT((INT(A1*100)-INT(A1*10)*10),"[dbnum2]")&"分") 作色部分是公式,公式中“A1”是指欲转换的小写数字所在位置(单元格),它根据小写数字所在位置进行修改;“人民币”是指货币种类,可以修改成美元、日元或大写等字样;其他是不许修

改的。 二、操作 1、复制程序公式:将着色的程序公式部分拷贝到电子表格中欲生成为大写的单元格内。(选中程序中的着色部分,点击鼠标右键,点击“复制”功能,然后双击电子表格中欲生成为大写金额的单元格,点击鼠标右键,点击“粘贴”功能) 2、修改程序公式:①将公式里的单元格“A1”全部替还成小写数字所在的单元格(如小写数字所在的单元格是“B3”,即把程序公式中的“A1”替换成“B3”),共15处。②是美元或其他币种,把“人民币”全替换成“美元或其他币种”。③也可以把程序公式的“人民币”和“()”修改为“大写:”。 (文:苟在林) =IF(C9<0,"金额为负无效", (IF(OR(C9=0,C9=""),"(人民币)零元", IF(C9<1,"(人民币)", TEXT(INT(C9),"[dbnum2](人民币)G/通用格式")&"元"))))& IF( (INT(C9*10)-INT(C9)*10)=0, IF(INT(C9*100)-INT(C9*10)*10=0,"","零"), (TEXT(INT(C9*10)-INT(C9)*10,"[dbnum2]")&"角")) &IF( (INT(C9*100)-INT(C9*10)*10)=0, "整", TEXT((INT(C9*100)-INT(C9*10)*10),"[dbnum2]")&"分"

英文字母大小写转换程序设计

课程设计任务书 学生姓名:刘小燕专业班级:电信0801班 指导教师:陈德军工作单位:信息工程学院 题目:英文字母大小写转换程序设计 初始条件: 具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、输入英文字母串,在回车后实现大小写转换 2、按命令要求将字符串转换为全部大写或全部小写 3、非英文字母不允许输入并声响报警 4、程序采用汇编语言在PC机上完成 5、完成符合学校要求的设计说明书 时间安排: 一周,其中2天程序设计,2天程序调试,1天完成课程设计报告书及答辩 指导教师签名:年月日系主任(或责任教师)签名:年月日

目录 摘要.................................................................................................................................................. I 1 DOS功能调用 (1) 2总体方案论证 (4) 3程序流程图及程序设计分析 (5) 3.1主程序设计 (5) 3.1.1流程图及其分析 (5) 3.1.2程序设计 (6) 3.2 chos字符串转换子程序设计 (8) 3.2.1流程图及其分析. (8) 3.2.2程序设计 (9) 3.3小写转大写子程序设计 (11) 3.3.1流程图及其分析 (11) 3.3.2程序设计 (12) 3.4大写转小写子程序设计 (13) 3.4.1流程图及其分析 (13) 3.4.2程序设计 (14) 4 总程序 (15) 5 课程设计心得体会 (20) 参考文献 (21)

相关主题
文本预览
相关文档 最新文档