在两个数字之间打印奇数

时间:2013-07-28 01:25:48

标签: assembly mips

我需要在num1和num2之间打印奇数,到目前为止我提出的代码打印所有数字。我一直在努力让它只打印奇数。

addi $v0, $zero, 4    
la $a0, str.displaynum    
syscall

add $s0,$zero, $t0 #starting number / loop counter   
loop:

addi $v0, $zero, 1     
add $a0,  $zero, $s0    
syscall


addi $a0,$zero,','     
addi $v0,$zero, 11    
syscall    

addi $s0,$s0,1 #add one to loop count    
ble $s0, $t1, loop #end loop if number is equal to end number    

1 个答案:

答案 0 :(得分:0)

这取决于您使用的是哪种编程语言,我看不出来,但是您想要的是Modulu。它在大多数程序中使用%符号表示。 Num1%Num2与将num1除以num2的余数相同。例如,5%2是1,因为5/2是2,余数为1.所以你要使用的是if语句。

if(number%2==0) then number is even; else number is odd;

你可以在else子句中打印出奇数的数字。

你也可以循环。

while(number>1) do number=number-2; done;
if(number==0) then number is even; else number is odd;