学校的作业,求高手解救
1、数据范围小的密码可以使用穷举法。这里从00到99,当作字符来处理,需要两重循环。
2、例程:
char a,b,c='1',d='2'; //这里变量c,d表示密码的第一位和第二位。char key[2];
for(a='0';a<='9';a++){
for(b='0';b<='9';b++){
key[0]=a;
key[1]=b; //这就是一个密码
if(key[0]==c && key[1]==d) printf("密码是:%s",key);//找到密码并输出
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-11-25
就是穷举咯
从00到99,应该是当作字符来处理把
套个两重循环
char a,b;
char key[2];
for(a='0';a<='9';a++){
for(b='0';b<='9';b++){
key[0]=a;
key[1]=b; //这就是一个密码
}
}本回答被提问者和网友采纳
从00到99,应该是当作字符来处理把
套个两重循环
char a,b;
char key[2];
for(a='0';a<='9';a++){
for(b='0';b<='9';b++){
key[0]=a;
key[1]=b; //这就是一个密码
}
}本回答被提问者和网友采纳
第2个回答 2012-07-06
从00到99不断的进行尝试啊!
望采纳!追问
望采纳!追问
。。。。。。。。。。。。。。。,这个作业就是要写程序!!!!
追答题目完整的给下啊
给你个好的吧!
#include
#include
int main()
{
char password[3] = "23"; //假设这是密码
char tryPass[3];
char a = '0';
char b = '0';
int i,j;
for (i=0; i<9; i++)
{
for (j=0; j<9; j++)
{
tryPass[0] = a;
tryPass[1] = b;
tryPass[2] = '\0';
printf("%s\n",tryPass);
b = '0';
if (strcmp(password,tryPass)==0)
{
printf("密码破解成功!\n");
printf("密码为%s\n", tryPass);
return 0;
}
b += j;
}
a++;
}
return 0;
}
第3个回答 2012-07-06
用穷举法,给你个思路:
for (i = 10; i <= 99; i++)
{
//在这里进行比较
}
for (i = 10; i <= 99; i++)
{
//在这里进行比较
}