⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpp1.cpp

📁 简单的置换算法示例
💻 CPP
字号:
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
char *ming=new char[999];

int encrypt(string a,int b)
{
	int c=a.length(),j;
	for(int i=0;i<c;i++)
	{
		j=(int)a[i];					//100
		j=j+b;							//125
		if(j>122){j=j-(j/26)*26+97;}//28,99
		a[i]=(char)j;
		ming[i]=(char)j;
		cout<<a[i];
	}
	return 1;
}

int decrypt(string a,int b)
{
	int c=a.length(),j;
	for(int i=0;i<c;i++)
	{
		j=(int)a[i];          //99
		j=j-b;				  //99-25=74
		if(j<97){j=j-(j/26)*26+97;}   //122-74+52
		a[i]=(char)j;
		ming[i]=a[i];
		cout<<(char)j;
	}
	cout<<endl;
	return 1;
}

void main()
{
//	char *ming=new char[999];
	printf("****************实验一之替换算法*****************\n");
	string mi;
	int a,b,c=3;
	cout<<"请输入明文:";
	gets(ming);
	cout<<"明文为:"<<ming<<endl;
	cout<<"请输入加密密钥(1-26):";
	cin>>a;
	while(a<0||a>26)
	{
		cout<<"请注意密钥范围为(1-26)!"<<endl;
		cout<<"请输入加密密钥:";
		cin>>a;
	}
	cout<<"密文为:";
	encrypt(ming,a);
	cout<<endl;
	cout<<"请输入解密密钥:";
	cin>>b;
	while(b!=a){
		cout<<"密钥输入错误!"<<endl;
		c--;
		cout<<"你还有:"<<c<<"次输入机会"<<endl;
		if(c<1){cout<<"输入错误次数达3次,系统拒绝再次尝试输入!"<<endl;
		exit(1);}
		cout<<"请输入解密密钥:";
		cin>>b;
	}
		cout<<"解密后明文为:";
		decrypt(ming,b);

}

//97--122

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -