首页 > 编程知识 正文

乘法密码c语言,乘法口诀C语言

时间:2024-04-24 11:43:17 阅读:334004 作者:QJHQ

本文目录一览:

用C语言乘法加密怎么解密?(对文本文件内容乘法加密的。怎么解密?比如加密钥匙为K=2。原内容X2.)

给你一个加密算法 我写的 用异或算法处理文本类的文档

#includestdio.h

#includeconio.h

#includestdlib.h

#includetime.h

jiemi()

{

int k,l;

char FN[40],FS[40];

char ch,mima[40],x;

FILE *f1,*f2;

printf("输入要解密的文件夹名称:");

scanf("%s",FN);

if((f1=fopen(FN,"r"))==NULL)

{

printf("您的路径有误,系统将不能完成任务,请重新进入。");

getch();

exit(1);

}

printf("输入您要解密到的文件夹名称:");

scanf("%s",FS);

if((f2=fopen(FS,"w"))==NULL)

{

printf("您的输入有误,系统将不能完成任务,请重新进入。");

getch();

exit(1);

}

printf("输入密码:");

scanf("%s",mima);

l=strlen(mima);

k=0;

ch=fgetc(f1);

while(ch!=EOF)

{

k=k%l;

fputc(ch^mima[k],f2);

ch=fgetc(f1);

k++;

}

fclose(f1);

fclose(f2);

printf("解密成功,请在该软件目录找到您解密的文件。n");

getch();

}

jiami()

{

int k,l;

char FN[20],FS[20];

char ch,mima[40],x;

FILE *f1,*f2;

printf("输入要打开的文件夹名称:");

scanf("%s",FN);

if((f1=fopen(FN,"r"))==NULL)

{

printf("您的路径有误,系统将不能完成任务,请重新进入。");

getch();

exit(1);

}

printf("输入要保存的文件夹名称:");

scanf("%s",FS);

if((f2=fopen(FS,"w"))==NULL)

{

printf("您的输入有误,系统将不能完成任务,请重新进入。");

getch();

exit(1);

}

printf("输入密码:");

scanf("%s",mima);

l=strlen(mima);

k=0;

ch=fgetc(f1);

while(ch!=EOF) //文件没有到底就继续 ,EOF文件的底部

{

k=k%l;

fputc(ch^mima[k],f2);

ch=fgetc(f1);

k++;

}

fclose(f1);

fclose(f2);

printf("加密成功,请在该软件目录找到您加密的文件。n");

getch();

}

main()

{

char y;

while(1)

{

printf("说明:欢迎使用文件加密程序,该程序可以将txt文档加密为为不可读文件,解密后返回原状态nn");

printf("小提示:输入文件名字的时候请使用字母,数字或下划线。n并且请加上(文件名).txt的后缀,要加密的文件请放在和程序文件同目录下nn");

printf(" ******菜单*******n");

printf(" * 1.加密 *n");

printf(" * 2.解密 *n");

printf(" * 0.退出 *n");

printf(" *****************n");

printf(" 请输入要执行的命令:n");

y=getch();

switch(y)

{

case '1': jiami();system("cls");break;

case '2': jiemi();system("cls");break;

case '0': exit(0);

}

}

}

乘法口诀表,C语言

1、此题比较简单我们用两个for循环即可实现。编程时先要理清思路,然后就水到聚成了。

2、源代码如下:

#include stdio.h

int main(void)

{

 int i ;

 int j ;

 printf("下面输出乘法口诀表:nn");

 for(i = 1;i = 9;i++)

 {

    for(j = 1;j = i;j++)

    {

        printf("%2d * %2d = %2d   ",j,i,i*j);

    }

    printf("n");

 }

 return 0;

}

3、输出结果如下:

4、总结:

本程序比较简单所以没有定义函数了,不过读者们要养成模块化编程的好习惯。该程序不管在输入输出的对齐还是代码的注释都是比较注意的。读者编写代码时尽量这样。

乘法在c语言中怎么表示?比如加法是add

估计你的意思是说C语言编译成汇编语言之后乘法怎么表示吧,因为在汇编中加法确实是用ADD表示的,下面给你运算符表:

ADD

加法.

ADC

带进位加法.

INC

1.

AAA

加法的ASCII码调整.

DAA

加法的十进制调整.

SUB

减法.

SBB

带借位减法.

DEC

1.

NEC

求反(以

减之).

CMP

比较.(两操作数作减法,仅修改标志位,不回送结果).

AAS

减法的ASCII码调整.

DAS

减法的十进制调整.

MUL

无符号乘法.

IMUL

整数乘法.

以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),

AAM

乘法的ASCII码调整.

DIV

无符号除法.

IDIV

整数除法.

以上两条,结果回送:

商回送AL,余数回送AH,

(字节运算);

商回送AX,余数回送DX,

(字运算).

AAD

除法的ASCII码调整.

CBW

字节转换为字.

(把AL中字节的符号扩展到AH中去)

CWD

字转换为双字.

(把AX中的字的符号扩展到DX中去)

CWDE

字转换为双字.

(把AX中的字符号扩展到EAX中去)

CDQ

双字扩展.

(把EAX中的字的符号扩展到EDX中去)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。