如何用C语言编写一个程序,使其输入的密码以*号的形式显示在屏幕。

 我来答
zhangyichent
2008-06-01 · TA获得超过122个赞
知道答主
回答量:246
采纳率:0%
帮助的人:139万
展开全部
C语言的太没挑战性了
汇编语言的的
.486
DATA SEGMENT USE16
SECRET1 DB '12345'
SECRET2 DB 7 DUP(?)
MESG1 DB 'Please enter the secret!You have $'
NUM DB 33H
DB ' times!',0DH,0AH,'$'
MESG2 DB 0DH,0AH,'The secret is wrong!',0DH,0AH,'$'
MESG3 DB 0DH,0AH,'Welcome!',0DH,0AH,'$'
DATA ENDS

CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA,ES:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV ES,AX
AGAIN:
CMP NUM,30H
JE EXIT
MOV AH,9
MOV DX,OFFSET MESG1
INT 21H
MOV AH,9
MOV DX,OFFSET NUM
INT 21H
MOV BX,OFFSET SECRET2
NEXT1: MOV AH,7
INT 21H
MOV [BX],AL
INC BX
CMP AL,0DH
JE NEXT2
MOV AH,2
MOV DL,'*'
INT 21H
CALL NEXT1
NEXT2: MOV SI,OFFSET SECRET1
MOV DI,OFFSET SECRET2
MOV CX,5
CLD
REPE CMPSB
JNZ WRONG
JMP RIGHT
WRONG: MOV AH,9
MOV DX,OFFSET MESG2
INT 21H
DEC NUM
CALL AGAIN
RIGHT: MOV AH,9
MOV DX,OFFSET MESG3
INT 21H
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END BEG
Wri2u
2012-10-25 · TA获得超过182个赞
知道答主
回答量:62
采纳率:0%
帮助的人:11.1万
展开全部
用一个for循环做示例,密码一般是六个,你自己也可以很简单的变通,其实很简单,主要是使用getch()这个接受字符又不会在屏幕上显示函数,然后再随后用putchar('*')在相应位置覆盖。
for(i=0;i<6;i++)
{
pwd[i]=getch();
putchar('*');
}
pwd 数组是接受密码,但别忘了在头文件中加上#include <conio.h>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式