广元到三亚机票多少钱:特急~~求解一道编程题~~~高手进
来源:百度文库 编辑:高校问答 时间:2024/04/27 17:58:53
我真的好笨......- -!!!
~~麻烦大家了~得用DATA SEGMENT
...............
DATA ENDS
这样的才行~
我想楼主要的是汇编程序吧,好久没用了,你看看符合你的要求不。
sseg segment stack \'stack\'
ssega dw 100 dup(?)
sseg ends
Data segment \'data\'
a db 1
b db 2
c db 3
d dw ?
Data ends
cseg segment \'code\'
assume cs:cseg;ds:Data;ss:sseg
start:
mov ax,Data
mov ds,ax
or a,0
jz zero
or b,0
jz zero
or c,0
jz zero
xor ax,ax
mov al,a
add al,b
adc al,c
mov d,ax
jmp return
zero:
mov a,0
mov b,0
mov c,0
return:
mov ah,4ch
int 21h
cseg ends
end start
呵呵 汇编?
stack segment para 'stack'
db 100 dup('stack')
stack ends
data segment
A db 1
B db 2
C db 3
D dw ?
data ends
code segment 'code'
assume cs:code, ds:data,es:data,ss:stack
start:
mov ax,data
mov ds,ax
mov es,ax
mov ax,A
and ax,B
and ax,C
jnz add
mov A, ax
mov B, ax
mov c, ax
jmp last
add:
mov ax,A
add ax,B
add ax,c
mov D,ax
last:
mov al, 4ch
int 21h
code ends
end start
dim a, b, c, d
if a&b&c≠0 then
a+b+c=d
if a&b&c=0 then
a&b&c=0
#include<stdio.h>
void main()
{
int i,A[3],D=0,temp=0;
for(i=0;i<3;i++)
{
scanf("%d",&A[i]);
D+=A[i];
if(A[i]==0)
temp=1;
}
if(temp==1)
{
for(i=0;i<3;i++)A[i]=0;
D=0;
}
printf("%d",D);
}
呵呵,三种不错的想法,不过,似乎第三种比较好,因为他用到了位运算,效率高些
显然这个问题是用汇编来回答的。
汇编学完都忘记了。
DATA SEGMENT
...............
DATA ENDS
是汇编的格式。。。。