VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 903|回复: 4

循环从数由参数决定,怎么办

[复制链接]
37_avatar_middle
最佳答案
0 
在线会员 发表于 2016-1-6 17:49:04 | 显示全部楼层 |阅读模式
3驿站币
假设我要穷举密码,有6位密码就需要6从循环,我不知道密码位数,就需要输入一个参数n来决定循环从数,这个程序改怎么编?如果n固定当然可以





上一篇:谁知道360路由器管家是怎么回事?是使用黑客的方式获取网页信息么
下一篇:菜鸟一个 问下关于字符转换成数字的问题
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2016-1-6 23:11:29 | 显示全部楼层
其实几位密码就是几重循环,类似这种吧:

  1. #include <stdlib.h>
  2. #include <stdio.h>

  3. int main() {
  4.     char a, b, c;//只需要3个char变量即可,使用数组是不恰当的
  5.     for (a = '0'; a <= 'z'; a++) {
  6.         for (b = '0'; b <= 'z'; b++) {
  7.             for (c = '0'; c <= 'z'; c++) {
  8.                 printf("%c%c%c ", a, b, c);
  9.                 if (c == '9') {
  10.                     c = 'a' - 1;
  11.                 }
  12.             }
  13.             printf("\n");
  14.             system("pause");//如果要一次性显示所有结果,注释掉此行代码
  15.             if (b == '9') {
  16.                 b = 'a' - 1;
  17.             }
  18.         }
  19.         if (a == '9') {
  20.             a = 'a' - 1;
  21.         }
  22.     }
  23.     system("pause");
  24.     return 0;
  25. }
复制代码


循环从数由参数决定,怎么办
37_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2016-1-6 23:16:06 | 显示全部楼层
Debug 发表于 2016-1-6 23:11
其实几位密码就是几重循环,类似这种吧:

我知道几位密码就要几从循环,问题时我想用一个参数n来决定n从循环,这个程序不知道怎么编了
37_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2016-1-6 23:28:02 | 显示全部楼层
已解决,预留足够长的位数,每一位遍历时多加一个字符“\0"=0截断位数
74_avatar_middle
最佳答案
0 
在线会员 发表于 2016-1-12 16:12:28 | 显示全部楼层
使用預留長度 顯得 有點 不優雅 其實 可以使用一個簡單的 遞歸
  1. #include <iostream>

  2. using namespace std;

  3. void get_pwd(std::string str,int n)
  4. {
  5.     --n;
  6.     std::string tmp;
  7.     for(char c='a';c<='z';++c)
  8.     {
  9.         tmp = str + c;
  10.         if(n)
  11.         {
  12.             get_pwd(tmp,n);
  13.         }
  14.         else
  15.         {
  16.             //輸出密碼
  17.             std::cout<<tmp<<" ";
  18.         }
  19.     }
  20. }

  21. int main()
  22. {
  23.     //定義長度
  24.     int n = 3;

  25.     get_pwd("",n);
  26.     return 0;
  27. }

复制代码
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-22 13:41

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表