| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 536 人关注过本帖
标题:程序求助?统计字符,字母,数字的程序?
只看楼主 加入收藏
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:1 
程序求助?统计字符,字母,数字的程序?
程序代码:
CSEG SEGMENT
  ASSUME CS:CSEG
  START:
  MOV AH,06H
  MOV DL,0FFH  ;利用6号功能输入字符
  INT 21H
  CMP AL,0DH   ;看输入的字符书不是回车符
  JNZ START     ;使zf为1,可以输入多个字符
  CMP AL,30H    ;看它与小a比较哪个大
  JNB DISP
  JB DISP1
DISP:
  CMP AL,39H    ;与小z比较
  JA DISP2
  MOV BL,0
  ADD BL,1       ;bl用来统计数字的个数
  MOV DL,BL
  MOV AH,02H
  INT 21H
DISP2:
  CMP AL,41H
  JB DISP1
  CMP AL,5AH
  JA DISP3
  MOV BH,0      ;bh用来统计字母的个数
  ADD BH,1
DISP3:
  CMP AL,61H
  JB DISP1
  CMP AL,7AH
  JA DISP1
  ADD BH,1
  MOV DL,BH
  MOV AH,02H
  INT 21H
DISP1:
  MOV CL,0
  ADD CL,1
  MOV DL,CL
  MOV AH,02H          ;cl用来统计其它字符的个数
  INT 21H
  MOV AH,4CH
  INT 21H
CSEG ENDS
END START
这道题是用来统计从键盘输入的任意多个字符,当输入回车符结束,统计其中字母,数字,其它非数字字符的个数,并在屏幕上显示!!我写了一个,没有成功,哪位大侠帮忙看看!!谢谢了!
搜索更多相关主题的帖子: 字符 数字 字母 统计 
2010-10-27 09:40
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:20 
程序代码:
CSEG SEGMENT
  ASSUME CS:CSEG

 START:
    MOV BL,0             ;bl用来统计数字的个数
    MOV BH,0             ;bh用来统计字母的个数
    MOV CL,0             ;cl用来统计其它字符的个数
input:
  MOV AH,01H
  ;利用6号功能输入字符
  INT 21H
  CMP AL,0DH   ;看输入的字符书不是回车符
  JZ disp     ;使zf为1,可以输入多个字符
  CMP AL,30H    ;看它与小a比较哪个大
  jb count3
count1:
  CMP AL,39H    ;与小z比较
  JA count2

 

  ADD BL,1
    jmp input 

count2:
    or al,20h
  CMP AL,61H
  JB count3
  CMP AL,7AH
  JA count3
      

  ADD BH,1
  jmp input
count3:

 

  ADD CL,1
  jmp input

 

disp:
    call crlf
    mov al,bl
    call htoasc
    call crlf
    mov al,bh
    call htoasc
    call crlf
    mov al,cl
    call htoasc
   

  MOV AH,4CH
  INT 21H

htoasc proc
    push cx
    push bx
    mov cl,4
    rol al,cl
    mov dl,al
    call dishex
    rol al,cl
    mov dl,al
    call dishex
    pop bx
    pop cx
    ret
htoasc endp

dishex proc
    push ax
    and dl,0fh
    cmp dl,0ah
    jb h1
    add dl,7h
h1:
    add dl,30h
    mov ah,2h
    int 21h
    pop ax
    ret
dishex endp
   

crlf proc
    mov ah,2h
    mov dl,0dh
    int 21h
    mov dl,0ah
    int 21h
    ret
crlf endp
CSEG ENDS
END START

2010-10-27 12:50
快速回复:程序求助?统计字符,字母,数字的程序?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017377 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved