[Hdu1342] Lotto

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1342

题目大意:输出6--13从小到大个数,然后按顺序输出6个数,输出所有种可能。

解题思路:这题难度不是太大就是有一点输出问题,就是每两个样例之间的输出一个换行,但当你输出0让它结束又不能有换行。我的做法是:使用六个for循环(因为就6到13个数不会超时的,这题肯定有更简单的做法,但是我不会其他方法,所以我的思路仅供参考)我把数存到数组中,然后通过下表经行输出,我又定义一个t,就解决了换行问题了,大家看代码就会明白的!!!!

题目代码:

#include<stdio.h>
int main()
{
 int n,i,a,b,c,d,e,f,s[100],t=1;
 while(scanf("%d",&n)&&n)
 {
     if(t==0)
       printf("\n");
     for(i=0;i<n;i++)
       scanf("%d",&s[i]);
     for(a=0;a<n;a++)
     for(b=a+1;b<n;b++)
     for(c=b+1;c<n;c++)
     for(d=c+1;d<n;d++)
     for(e=d+1;e<n;e++)
     for(f=e+1;f<n;f++)
        printf("%d %d %d %d %d %d\n",s[a],s[b],s[c],s[d],s[e],s[f]);
     t=0;
 }
    return 0;
}

 

 

posted on 2014-04-09 20:06  与我同在  阅读(225)  评论(0编辑  收藏  举报

导航