統計字串

2021-05-23 18:33:01 字數 2612 閱讀 2270

題目:計算字串中字母、數字、其他字元的個數。

**:

datas segment

buf db 80

len db ?

string db 80 dup(32)

crlf db 13,10,'$'   

displ db 'the amount of letters is:',13,10,'$'

dispd db 'the amount of digits is:',13,10,'$'

dispo db 'the amount of others is:',13,10,'$'

letter db 0

digit db 0

other db 0

datas ends

stacks segment

db 200 dup (?)

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

call input

call dispcrlf

mov dx,offset string

mov ah,09

int 21h

call tongji

call result

mov ah,4ch

int 21h

input proc near;輸入

mov dx,offset buf

mov ah,10

int 21h

retinput endp

tongji proc near;統計

lea bx,string

mov cl,len

loop1:

mov al,[bx]

call isletter

jnc next

inc letter

jmp the_end

next:

call isdigit

jnc the_end

inc digit

the_end:

inc bx

loop loop1

rettongji endp

isletter proc near

cmp al,'a'

jb exit1

cmp al,'z'

jbe exit2

cmp al,'a'

jb exit1

cmp al,'z'

jbe exit2

exit1:

clcret

exit2:

stcret

isletter endp

isdigit proc near

cmp al,'0'

jb notd

cmp al,'9'

ja notd

stdret

notd:

clcret

isdigit endp

result proc near

mov dx,offset crlf

mov ah,09h

int 21h

mov dx,offset displ;輸出字母個數 

mov ah,09

int 21h

mov bl,letter

call out_amount

call dispcrlf

mov dx,offset dispd;輸出數字個數

mov ah,09

int 21h

mov bl,digit

call out_amount

call dispcrlf

mov dx,offset dispo;輸出其他字元個數

mov ah,09

int 21h

mov bl,len

sub bl,letter

sub bl,digit

call out_amount

call dispcrlf

retresult endp

dispcrlf proc near

mov dx,offset crlf

mov ah,09

int 21h

retdispcrlf endp

out_amount proc near

;要輸出的數儲存在bl中

push ax

push dx

push cx

mov cl,4

mov al,bl

shr al,cl

mov dl,al

and dl,0fh

add dl,30h

mov ah,02h

int 21h

mov dl,bl

and dl,0fh

add dl,30h

mov ah,02h

int 21h

pop cx

pop dx

pop ax

retout_amount endp

codes ends

end start

字串統計

演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且...

字串統計

time memory limit 1000 ms 32768 k submitted 2163 accepted 973 對於給定的乙個字串 長度小於1000 統計其中大小寫字母字元出現的次數。輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串...

字串統計

description 對於給定的乙個字串,統計其中數字字元出現的次數。input 輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串。output 對於每個測試例項,輸出該串中數值的個數,每個輸出佔一行。sample input 2 asdfa...