1樓:
;求100-200以內的素數
data segment
d1 dw 200 dup(0) ;定義存放素數的位置data ends
code segment
main proc far
assume cs:code,ds:datastart:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov dx,99
mov si,offset d1
next:
inc dx
;add si,2
cmp dx,200 ;200以內的數
jae exit
mov ax,dx
shr ax,1 ;/2
dec ax ;是從2開始除,所以迴圈數要減1mov cx,ax ;迴圈值
mov bl,1
loop1:
inc bl ;依次除以2,3,....
mov ax,dx
div bl
cmp ah,0
je next ;餘數為0,非素數
loop loop1
mov [si],dx ;儲存素數
add si,2
jmp next
exit:
retmain endp
code ends
end start
2樓:匿名使用者
//c++
#include
#include
int main()
}std::cout<<'\n';
return 0;}
3樓:計算機技術價值
#include
int main()
}if(flag)
printf("%d ",i);
}return 0;}
用組合語言,編寫程式輸出100-200之間所有的素數,每行輸出5個數,**等,急求!!!!!!!!!!
4樓:做而論道
我也做出來了。
可見插圖:
只要把設計要求,寫入下面的資料段中,即可。
;******************************==dseg segment
msg1 db 'su_shu: ', 13, 10, 24h
n_1 dw 100
n_2 dw 1000 ;300n_3 db 10;8 ;5n_div dw ?
n_dis db 0
dseg ends
;******************************==程式,就會按照要求,輸出素數。
5樓:匿名使用者
data segment
n1 db 20 dup(0)
n db 0
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
;;mov ax,20000
mov ax,100 ;起始數
again:
cmp ax,200 ;結束數
;cmp ax,300
ja exit
mov bx,2
x1:cmp bx,ax
jae exit1 ;yes,disp it
push ax
push bx
mov dx,0
div bx
cmp dx,0 ;yu=0
je n11 ;no
pop bx
pop ax
cmp bx,2 ;去掉偶數
ja add2
dec bx
add2:
inc bx
inc bx
jmp x1
n11:
pop bx
pop ax
jmp n22
exit1: ;yes,disp it
mov si,offset n1
mov dx,0
call div10
push ax
push bx
mov dx,offset n1
mov ah,9
int 21h
inc n
mov al,n
cmp al,5 ;每行顯示5個數
jne disp_k
mov al,0
mov n,al
jmp disp_cr
disp_k:
mov ah,2
mov dl,' '
int 21h
jmp next9
disp_cr:
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
next9:
pop bx
pop ax
n22:
inc ax
jmp again
exit:
ret;int 20h
main endp
;********************=
;********************=
;將32位16進製制數(dx:ax)轉換為10進製數子程式
;入口: dx:ax存32位16進製制數, si為存放轉換後10進製數的首位址
;出口: 在si中存放轉換後10進製數的ascii碼
div10 proc near
push ax
push bx ;保護現場
push cx
push di
mov cx,0 ;每位10進製數進棧計數器
mov bx,10d ;除數10
re_div:
push ax ;低16位進棧
mov ax,dx ;先除高16位
mov dx,0 ;高位置0
div bx ;商在ax中,是下一輪除的高位;餘數在dx中,它和已進棧的ax(低16位)組成新的32位數
mov di,ax ;將下一輪除的高位儲存在di
pop ax ;取回先前進棧的低16位
div bx ;除后,商ax是下一輪的低16位,即(di:ax)組成新的32位被除數;
;餘數dx是一位已轉換的10進製數
add dx,30h ;將其轉換成ascii碼
push dx ;將其進棧
inc cx ;進棧計數器加1
mov dx,di ;將高位商返回dx
cmp ax,0 ;判斷商是否為0, dx:ax均需為0,實際上就是(di:ax)這個新組成的32位被除數是否為0
jz down1 ;商低位為0
jmp re_div ;商低位不為0,繼續除10取餘
down1:
cmp dx,0
jz down ;商低位(ax)為0,高位(dx)也為0
jmp re_div ;否則繼續除10取餘
down: ;當dx和ax均為0時(商為0),轉結束除
pop [si] ;以cx的值(進棧計數器)依次出棧
inc si ;由於出棧的數僅低8位有效(高位為0),所以si每次只增1,
;使新出棧的低8位有效值覆蓋前一次出棧的高位0
loop down
mov al,'$' ;在字串尾部加結束標誌
mov [si],al
pop di ;恢復現場
pop cx
pop bx
pop ax
retdiv10 endp
;********************====
;********************====
code ends
end start
6樓:匿名使用者
我這有原創「篩法」找素數並輸出的匯程式設計序的,私信30rmb吧,或當我沒說
程式設計求100~200之間全部素數的和
7樓:紫薇參星
按照你的要求改完的,用陣列編譯的求100~200之間全部素數和的c語言程式如下(改動的地方比較多,尤其是判斷素數和給陣列賦值處,你仔細看看吧)
#include
int main()
{int num[100];
int i,j,t=0,sum=0;
for(i=101;i<200;i++)
{for(j=2;j
編寫c語言程式,求100~200之間所有素數。
8樓:匿名使用者
素數就是只能被1和本身整除的數,先定義乙個函式用於判斷乙個數是否是素數,在從100到200依次迴圈判斷,如果是素數則輸出。
#include
int fun(int n){//判斷n是否是素數int i;
for(i=2;i
9樓:彌鷗逮成蔭
#include
void
main()
void
outputsushu(int
k)if(w==0)
printf("%d\t是素數\n",k);
else
printf("%d\t不是素數\n",k);}
10樓:王澤無敵真的
# include
# include
int main()
if(k>sqrt(i*1.0))
if(n%10==0)
printf("\n");
}return 0;}
11樓:
#include
#include
int isprime(int n)
void main()
printf("\n");
for(i=2;i<1000;i++)
12樓:匿名使用者
#include
#include
#include
int primer_number(int lower, int upper)
if (flag == 0)
count++;
}return count;
}int main(void)
程式設計題求100-200之間的全部素數怎麼做呀?
13樓:匿名使用者
<?php
$a=array();
for($i=100;$i<200;$i++)}foreach($a as $k=>$v)echo $v." ";
}echo "
100-200之間的以內素數的個數是". count($a);
?>
14樓:**愛人醉紅顏
#include
#include
void main()}
求100-200間的全部素數 這個用c語言怎麼程式設計
15樓:匿名使用者
#include
int isprime(int a)
int main(void)
printf("\n");}
16樓:唯意朵朵
#include
main()
if(n%n==0)printf(「\n」);
}printf(「\n」);}
利用組合語言編寫程式,利用組合語言編寫程式
採納答案,用錯了語言。題目說 片內ram.這應該是 51 微控制器的。下面的程式,是求a b的平方和,存入c單元。mov a,30h call fing fang mov 32h,a mov a,31h call fing fang add a,32h mov 32h,a sjmp fing fan...
用組合語言編寫一完整程式,用組合語言編寫乙個程式。
江西理工大學 今天下午剛好咱們上機課,做了這個題,給你完整答案如下 datas segment 此處輸入資料段 buff dw 5,25,55,115,138,159,196,163,20,255 dat dw 0 show db 4 dup 0 datas ends stacks segment ...
用組合語言編寫小小程式,用組合語言編寫乙個小小程式
這個還不簡單 includevoid main 如何用組合語言寫個小程式 hello word!堆疊段 stack segment stack db 100 stack ends 資料段 data segment szhello db hello,word 0dh,0ah,data ends 段 c...
求用組合語言解決學生的平均成績,求用組合語言 解決10個學生的平均成績
mov bx,offset score mov cx,30 mov dx,0 clcagain add dl,bx adc dh,0 inc bx mov ax,dx mov dl,30 div dl 顯示你自己顯示吧 loop again c語言編寫函式,求10個學生的平均成績,使用陣列 1 首先...
使用組合語言寫課程設計,用組合語言如何編寫計算n!的課程設計
彙編,好久沒用的語言了。難度不小啊 用組合語言如何編寫計算n!的課程設計 本程式通過編譯,執行正確 code segment assume cs code,ds coden equ 8 start mov cx,n cmp cx,1 n 1?ja next 是,階乘 mov ax,1 n 1,n 1...