我想要在 mips 中使用嵌套循环的以下输出。
1****
12***
123**
1234*
答案 0 :(得分:1)
你可以这样做:
*.data 行:.ascii "\n" 。文本 主要的: li $t0, 1 li $t1,5
for1:
beq $t0, $t1, 退出
添加 $t0,$t0,1
li $t2, 1
for2:
beq $t2, $t0, print_Nline
移动 $a0,$t2
li $v0, 1
syscall
addi $t2,$t2,1
j for2
print_Nline:
li $v0, 4
la $a0, line
syscall
j for1
退出: li $v0, 10 系统调用 .end main*
答案 1 :(得分:0)
.data
star: .asciiz "*"
newline: .asciiz "\n"
.text
main:
li $t0, 6
li $t3, 1 # i = 1
loop1:
beq $t3, $t0, end
li $t1, 1 # j = 1
li $t2, 1 # k = 0
j loop2
loop2:
beq $t1,$t3, initialization
li $v0, 1
move $a0, $t1
syscall
addi $t1, $t1, 1
j loop2
initialization:
addi $t1, $t1, -1
sub $t4, $t0, $t1
j loop3
loop3:
beq $t2, $t4, changeNewline
li $v0, 4
la $a0, star
syscall
addi $t2, $t2, 1
j loop3
changeNewline:
li $v0, 4
la $a0, newline
syscall
addi $t3, $t3, 1
j loop1
end:
li $v0, 10
syscall
答案 2 :(得分:0)
使用嵌套的 for
循环:
>>> def rows(num_rows):
for row in range(num_rows):
for i in range(row+1):
print(i+1, end="")
for j in range(num_rows-row):
print("*", end="")
print()
>>> rows(4)
1****
12***
123**
1234*
>>> rows(5)
1*****
12****
123***
1234**
12345*
使用列表理解:
>>> def rows(num_rows):
for row in range(num_rows):
nums = "".join([str(i+1) for i in range(row+1)])
stars = "".join(["*" for i in range(num_rows-row)])
print(f"{nums}{stars}")
>>> rows(4)
1****
12***
123**
1234*
>>> rows(5)
1*****
12****
123***
1234**
12345*