鱼C论坛

 找回密码
 立即注册
查看: 3250|回复: 3

[技术交流] C训练题-生活应用3: 写出某种彩票的所有开奖结果

[复制链接]
发表于 2014-6-1 18:32:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 苹果沃珂 于 2014-6-7 11:39 编辑

题目与方案分析:
       枚举出某种彩票的所有可能的开奖结果。       如:15选5,22选5,双色球等等的开奖所有可能。
       难度系数:★★★★

<苹果沃克:欢迎交流, 范例已贴出Go>


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-1 19:37:47 | 显示全部楼层
彩票规则不懂 O(∩_∩)O~瞎猜的
算法很垃圾啊 高手勿喷
  1. #include<stdio.h>

  2. void sw();
  3. void ew();
  4. void ssq();

  5. int main()
  6. {
  7.         int i;
  8.         char ch;
  9. s:        printf("-------------------\n");
  10.         printf("      1 : 15选5    \n");//1-15选5个
  11.         printf("      2 : 25选5    \n");//1-25选5个
  12.         printf("      3 : 双色球   \n");//1-30选6个 + 1-15选一个
  13.         printf("---------------------");
  14.         scanf("%d",&i);
  15.         while((ch = getchar())!='\n');
  16.         switch(i)
  17.         {
  18.         case 1:
  19.                 sw();
  20.                 goto s;
  21.         case 2:
  22.                 ew();
  23.                 goto s;
  24.         case 3:
  25.                 ssq();
  26.                 goto s;
  27.         default:
  28.                 printf("你的输入有误,请重新输入!\n");
  29.                 goto s;
  30.         }
  31.        
  32.         return 0;
  33. }

  34. void sw()
  35. {
  36.         int i,j,k,l,m;
  37.         for(i = 1;i<=11;i++)
  38.         {
  39.                 for(j = i+1;j<=12;j++)
  40.                 {
  41.                         for(k = j+1;k<=13;k++)
  42.                         {
  43.                                 for(l = k+1;l<=14;l++)
  44.                                 {
  45.                                         for(m = l+1;m<=15;m++)
  46.                                         {
  47.                                                 printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);
  48.                                         }
  49.                                 }
  50.                         }
  51.                 }
  52.         }
  53. }

  54. void ew()
  55. {
  56.         int i,j,k,l,m;
  57.         for(i = 1;i<=21;i++)
  58.         {
  59.                 for(j = i+1;j<=22;j++)
  60.                 {
  61.                         for(k = j+1;k<=23;k++)
  62.                         {
  63.                                 for(l = k+1;l<=24;l++)
  64.                                 {
  65.                                         for(m = l+1;m<=25;m++)
  66.                                         {
  67.                                                 printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);
  68.                                         }
  69.                                 }
  70.                         }
  71.                 }
  72.         }
  73. }
  74. void ssq()
  75. {
  76.         int i,j,k,l,m,n,z;
  77.         for(z=1;z<=15;z++)
  78.         {
  79.         for(n = 1;n<=25;n++)
  80.         {
  81.                 for(i = n+1;i<=26;i++)
  82.                 {
  83.                         for(j = i+1;j<=27;j++)
  84.                         {
  85.                                 for(k = j+1;k<=28;k++)
  86.                                 {
  87.                                         for(l = k+1;l<=29;l++)
  88.                                         {
  89.                                                 for(m = l+1;m<=30;m++)
  90.                                                 {
  91.                                                         printf("%d,%d,%d,%d,%d,%d  +  %d\n",n,i,j,k,l,m,z);
  92.                                                 }
  93.                                         }
  94.                                 }
  95.                         }
  96.                 }
  97.         }
  98.         }
  99. }
复制代码

评分

参与人数 1鱼币 +3 收起 理由
苹果沃珂 + 3 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-2 11:27:46 | 显示全部楼层

能不能写成一个通用函数,如:int Func( int nMax, int nSel);
当彩票是15选5的时候,我传参nMax=22,nSel=5
当彩票是80选6的时候,我传参nMax=80,nSel=6
……

点评

现已在学校....现在老师还没来用教室电脑上了下我三天后放假回去写  详情 回复 发表于 2014-6-2 12:32
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-2 12:32:48 | 显示全部楼层
苹果沃珂 发表于 2014-6-2 11:27
能不能写成一个通用函数,如:int Func( int nMax, int nSel);
当彩票是15选5的时候,我传参nMax=22,nS ...

现已在学校....现在老师还没来用教室电脑上了下我三天后放假回去写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 04:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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