补上英汉互译王V2007 算法注册机C++的源码
本帖最后由 sdrf5678lk 于 2011-3-28 11:59 编辑呵呵~~~上次只分析了一下软件的算法一直没有给出注册机的源;
今天刚有时间就把它写了一下~~~~就发给大家看看
#include <iostream>
using namespace std;
void main()
{
char a; //定义一个存放机器码的空字符串数组
char b[] = "4k6d8r"; //这这个是程内置的字符串
cout<<"清输入你的机器码: "<<endl;
cin>>a; //接收机器码
int i, j, k, n;
n = strlen(b); //计算内置字符串的位数
k = strlen(a); //计算机器码的位数
for(i=0;i<n;i++) //这个for 循环是用来取内置字符的ASCII的
for(j=0;j<k;j++) //这个内置的for 循环是用来取字符数组a
{
a = a ^ b; //把字符数组A中的ASCII XOR 内置字符数组中的ASCII把它们的结果
} //保存到A数组中
for(j=0;j<k;j++) //这for 循环个是用来打出我们的注册码的
{
if(a<10) //用来检查我们算出的数组中每个元素是否为个位是的话
{ //就用0填充
printf("%X",0,a);
}
printf("%X",a);
}
printf("\n");
} 本帖最后由 foxjinlin 于 2011-3-28 08:20 编辑
支持一下
类C语言写算法,有得天独厚的优势,而且看上去都比其它语言清晰。
晕,好像下面的注解写反了
n = strlen(b); // 计算机器码的位数
k = strlen(a); //计算内置字符串的位数
----------------------------------
没看清,修改下。用户名没参与计算。 回复 2# foxjinlin
呵呵谢了~~~~~~~~~~~~~~换回来了!!!
:loveliness: :victory: 支持一下 呵呵,只怕这代码……
页:
[1]