C训练题-生活应用3: 写出某种彩票的所有开奖结果
本帖最后由 苹果沃珂 于 2014-6-7 11:39 编辑题目与方案分析:
枚举出某种彩票的所有可能的开奖结果。 如:15选5,22选5,双色球等等的开奖所有可能。
难度系数:★★★★
<苹果沃克:欢迎交流, 范例已贴出Go>
彩票规则不懂 O(∩_∩)O~瞎猜的
算法很垃圾啊 高手勿喷#include<stdio.h>
void sw();
void ew();
void ssq();
int main()
{
int i;
char ch;
s: printf("-------------------\n");
printf(" 1 : 15选5 \n");//1-15选5个
printf(" 2 : 25选5 \n");//1-25选5个
printf(" 3 : 双色球 \n");//1-30选6个 + 1-15选一个
printf("---------------------");
scanf("%d",&i);
while((ch = getchar())!='\n');
switch(i)
{
case 1:
sw();
goto s;
case 2:
ew();
goto s;
case 3:
ssq();
goto s;
default:
printf("你的输入有误,请重新输入!\n");
goto s;
}
return 0;
}
void sw()
{
int i,j,k,l,m;
for(i = 1;i<=11;i++)
{
for(j = i+1;j<=12;j++)
{
for(k = j+1;k<=13;k++)
{
for(l = k+1;l<=14;l++)
{
for(m = l+1;m<=15;m++)
{
printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);
}
}
}
}
}
}
void ew()
{
int i,j,k,l,m;
for(i = 1;i<=21;i++)
{
for(j = i+1;j<=22;j++)
{
for(k = j+1;k<=23;k++)
{
for(l = k+1;l<=24;l++)
{
for(m = l+1;m<=25;m++)
{
printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);
}
}
}
}
}
}
void ssq()
{
int i,j,k,l,m,n,z;
for(z=1;z<=15;z++)
{
for(n = 1;n<=25;n++)
{
for(i = n+1;i<=26;i++)
{
for(j = i+1;j<=27;j++)
{
for(k = j+1;k<=28;k++)
{
for(l = k+1;l<=29;l++)
{
for(m = l+1;m<=30;m++)
{
printf("%d,%d,%d,%d,%d,%d+%d\n",n,i,j,k,l,m,z);
}
}
}
}
}
}
}
} 牡丹花下死做鬼 发表于 2014-6-1 19:37 static/image/common/back.gif
彩票规则不懂 O(∩_∩)O~瞎猜的
算法很垃圾啊 高手勿喷
能不能写成一个通用函数,如:int Func( int nMax, int nSel);
当彩票是15选5的时候,我传参nMax=22,nSel=5
当彩票是80选6的时候,我传参nMax=80,nSel=6
…… 苹果沃珂 发表于 2014-6-2 11:27 static/image/common/back.gif
能不能写成一个通用函数,如:int Func( int nMax, int nSel);
当彩票是15选5的时候,我传参nMax=22,nS ...
现已在学校....现在老师还没来用教室电脑上了下我三天后放假回去写
页:
[1]