求助大神帮我解决此题
比较两个输入的字符串是否完全相同,是则显示YES,否则显示NO。要求:提示输入字符串1; 输入字符串1,Enter键结束输入并换行; 提示输入字符串2; 输入字符串2,Enter键结束输入并换行; 显示判断结果。求大神们帮帮忙
鱼丸醋面 发表于 2012-9-29 22:38 static/image/common/back.gif
加 油!!!^^
修改了下你自己看下满意不assume cs:cseg,ds:dseg
dseg segment
db 100 dup (0)
db 100 dup (0)
szyes db 'Yes',0dh,0ah,'$'
szno db 'NO',0dh,0ah,'$'
szText1 db 'Please input first string and press Enter';提示信息
szText2 db 'Please input Second string and press Enter';提示信息
dseg ends
cseg segment
start:
call QP
call XS1
mov ax,dseg
mov ds,ax
mov si,0
mov di,100
do:
mov ah,1
int 21h
cmp al,0dh ;判断是否为回车键
je str_next
mov ,al
inc si
jmp do
str_next:
call newline
call QP
call XS2
do2:
mov ah,1
int 21h
cmp al,0dh
je bijiao
mov ,al
inc di
jmp do2
bijiao:
call newline
mov ch,0
mov si,0
mov di,100
s:
mov cl,
cmp cl,
jne no
jcxz yes
inc si
inc di
jmp s
no:
mov dx,offset szno
mov ah,9h
int 21h
jmp over
yes:
mov dx,offset szyes
mov ah,9h
int 21h
over:
mov ah,1
int 21h
mov ax,4c00h
int 21h
;换行子程序
;说明:直接引用即可
newline proc
push ax
push dx
mov dl,0dh
mov ah,2h
int 21h
mov dl,0ah
mov ah,2h
int 21h
pop dx
pop ax
ret
newline endp
;清屏子程序
QP proc
push cx;虽然这一系列保存没什么用,但是可以增加子程序独立性
push ax
push ds
push si
mov cx,4000;字符串个数
mov ax,0b800h;显存地址
mov ds,ax
mov si,0
lls:
mov byte ptr ds:,0;放入显存
add si,2;指向下一个显存
loop lls
pop si
pop ds
pop ax
pop cx
ret
QP endp
XS1 proc
push ax
push ds
push bx
push es
push si
push cx
mov ax,0b800h
mov ds,ax
mov bx,0
mov ax,dseg
mov es,ax
mov si,offset szText1
mov cx,41;字符数
ss1:
mov al,es:
mov byte ptr ,al;放入显存
add bx,2;指向下一个显存
inc si;指向下一个字符串
loop ss1
pop cx
pop si
pop es
pop bx
pop ds
pop ax
ret
XS1 endp
XS2 proc
push ax
push ds
push bx
push es
push si
push cx
mov ax,0b800h
mov ds,ax
mov bx,0
mov ax,dseg
mov es,ax
mov si,offset szText2
mov cx,42;字符数
ss2:
mov al,es:
mov byte ptr ,al;放入显存
add bx,2;指向下一个显存
inc si;指向下一个字符串
loop ss2
pop cx
pop si
pop es
pop bx
pop ds
pop ax
ret
XS2 endp
cseg ends
end start
补充内容 (2012-9-29 23:29):
嗯。清屏用INT 10 也可以实现好像,具体你自己改 什么问题啊啊 wwl 发表于 2012-9-28 00:21 static/image/common/back.gif
什么问题啊啊
比较两个输入的字符串是否完全相同,是则显示YES,否则显示NO。
要求:提示输入字符串1;
输入字符串1,Enter键结束输入并换行;
提示输入字符串2;
输入字符串2,Enter键结束输入并换行;
显示判断结果
您能帮帮忙吗 #include <stdio.h>
#include <string.h>
int main()
{
char str_1, str_2;
printf("请输入字符串1:");
scanf("%s", str_1);
printf("请输入字符串2:");
scanf("%s", str_2);
if (strcmp(str_1, str_2) == 0)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
return 0;
}
向往 发表于 2012-9-28 01:14 static/image/common/back.gif
//可以使用 strcmp() 函数来比较字符串string1和string2大小.
//返回值< 0, 表示string1小于string2;
//返回值为0, 表示string1等于string2;
//返回值> 0, 表示string1大于string2.
#include <stdio.h>
#include <string.h> // strcmp() 函数
int main()
{
char str_1, str_2;
printf("请输入字符串1:");
scanf("%s", str_1);
printf("请输入字符串2:");
scanf("%s", str_2);
if (strcmp(str_1, str_2) == 0)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
return 0;
}
/**************************************************
*********输入两个字符串并比较它们是否相等********
**************************************************/
#include <string>
#include <iostream>
#include <stdlib.h>
extern "C"
#include "string.h"
using namespace std ;
int main()
{
string s1, s2;
int result;
cout << "请输入s1:\n";
getline(cin,s1, '\n'); //输入s1,并以回车为结束符。
cout << "请输入s2:\n";
getline(cin,s2, '\n'); //输入s2,并以回车为结束符。
cout << "你输入的s1是: " << s1 << endl;
cout << "你输入的s2是: " << s2 << endl;
result = strcmp(s1.c_str(), s2.c_str()); //比较s1和s2是否相等,返回值为0则相等。可参考MSDN里strcmp的用法
if (result > 0 || result < 0)
cout << "s1和s2是否相等:NO!\n";
else
cout << "s1和s2是否相等:YES!\n";
system("pause");
return 0;
}
补充内容 (2012-9-28 03:23):
以上为C++代码。
RE: 求助大神帮我解决此题
向往 发表于 2012-9-28 01:18 static/image/common/back.gif您这用的是C语言啊,我想要的是用汇编语言做出此题,不过还是谢谢你了
RE: 求助大神帮我解决此题
贝壳 发表于 2012-9-28 03:20 static/image/common/back.gif补充内容 (2012-9-28 03:23):
以上为C++代码。
是啊,你能帮我用汇编做一下吗 鱼丸醋面 发表于 2012-9-28 08:57 static/image/common/back.gif
是啊,你能帮我用汇编做一下吗
不好意思。我不会。VC++可以反汇编,你可以参考一下反汇编的结果。不过那个结果不能直接用。 来人呀帮帮他吧。{:5_92:} 哦,WIN32汇编倒是可以,你等等,我写写 WIN32汇编实现,16位的我没时间了。 对了,我相同就弹窗显示“相同”,忘了楼主的要求,你自己改成YES和NO吧 贝壳 发表于 2012-9-28 15:51 static/image/common/back.gif
不好意思。我不会。VC++可以反汇编,你可以参考一下反汇编的结果。不过那个结果不能直接用。
好的,还是谢谢你了 橙子 发表于 2012-9-28 16:21 static/image/common/back.gif
来人呀帮帮他吧。
好人啊,还是个美女啊……嘿嘿 メ㊣逆ご帅☆ 发表于 2012-9-28 21:04 static/image/common/back.gif
对了,我相同就弹窗显示“相同”,忘了楼主的要求,你自己改成YES和NO吧
好人会有好报的,太感谢你了 メ㊣逆ご帅☆ 发表于 2012-9-28 20:48 static/image/common/back.gif
WIN32汇编实现,16位的我没时间了。
这个用的好像不是汇编语言吧,不过还是谢谢你了 继续求助中…… 鱼丸醋面 发表于 2012-9-29 12:37 static/image/common/back.gif
这个用的好像不是汇编语言吧,不过还是谢谢你了
32位的汇编,大小6KB,如果用其他语言随便一个指令都会20K以上