0

我正在寻找有关如何从用户那里获取字符串然后输出每个字母在字符串中使用的次数的帮助。

伪码字符串“请输入字符串:”取字符串并保存到数组中,检查字符值的ascii重复,然后在输出对应的字母时输出。

示例:你好世界

A: 
B:
C:
D: 1
E: 1
...
H: 1
...
W: 1

代码

.data
intro: .asciiz "Letter Checker Program" 
question: .asciiz "\nPlease enter a string for evaluation: "

string: .space 1024
alphabet: .space 26


.text 

main:
jal setup
#jal analyze
#jal results

li $v0, 10
syscall 

setup:
li $v0, 4   # outputing name and program information
la $a0, intro
syscall

li $v0, 4   # asksing for string input
la $a0, question
syscall 

li $v0, 8
la $a0, string
li $a1, 1024
syscall

jr $ra      # return

analyze:

loop:   

环形:

结果:

4

1 回答 1

0

你想做的是:

  1. 创建一些空间(26 * 4 字节)来存储结果并用 0 填充
  2. 循环遍历字符串中的每个字母并加载lb
  3. 确定字母的数值,从而确定内存位置(步骤 1)。不要忘记小写和大写字母。
  4. 加载该内存位置(4 个字节,使用lw),将值增加 1,然后再次存储sw
  5. 遇到 0(不是字母 '0')时停止
  6. 在分析中,循环遍历字母表中的每个字母,从步骤 1 加载相应的内存位置,并打印结果
于 2013-03-04T10:32:46.193 回答