永发信息网

C语言求从一个数组里挑数出来组合的问题

答案:5  悬赏:80  手机版
解决时间 2021-11-09 15:10
  • 提问者网友:却不属于对方
  • 2021-11-08 21:43
C语言求从一个数组里挑数出来组合的问题
最佳答案
  • 五星知识达人网友:洒脱疯子
  • 2021-11-08 22:22
如果要顺序的话,就是:
#include
int main()
{
int a[]={1 ,2 ,3 ,4 ,5};
int i,j,k,m;

int count=0;

for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(j!=i)
{
for(k=0;k<5;k++)
{
if(k!=i&&k!=j)
{
for(m=0;m<5;m++)
{
if(m!=i&&m!=j&&m!=k)
{
count++;
printf("%d %d %d %d\n",a[i],a[j],a[k],a[m]);
}
}
}
}
}
}
}
printf("there are %d teams.",count);
}

如果不要顺序的话,则是:
#include
int main()
{
int a[]={1 ,2 ,3 ,4 ,5};
int i,j,k,m;

int count=0;

for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(j!=i)
{
for(k=0;k<5;k++)
{
if(k!=i&&k!=j)
{
for(m=k+1;m<5;m++)
{
if(m!=i&&m!=j&&m!=k)
{
count++;
printf("%d %d %d %d\n",a[i],a[j],a[k],a[m]);
}
}
}
}
}
}
}
printf("there are %d teams.",count);
}
全部回答
  • 1楼网友:洎扰庸人
  • 2021-11-09 00:31
把剩下的数复制一个新的数组里啊。
  • 2楼网友:妄饮晩冬酒
  • 2021-11-09 00:07
#include

int main(int argc, char *argv[])
{
int a[]={1,2,3,4,5};
int i,j,n,m;
int num=0;

for(i=0;i<5;i++)
for(j=0;j<5;j++)
for(n=0;n<5;n++)
for(m=0;m<5;m++)
if(i!=j&&i!=n&&i!=m&&j!=n&&j!=m&&n!=m)
{
printf("%d%d\t%d%d\n",a[i],a[j],a[n],a[m]);
num++;
}
printf("总共的选择数是%d\n",num);
system("pause");
return 0;
}
  • 3楼网友:何以畏孤独
  • 2021-11-08 23:15
int a[]={1,2,3,4,5},i,j,k,m;
int number; //此为答案的个数
for(i=0;i<=3;i++)
{
for(j=i+1;j<=4;j++)
{
for(k=0;k<=3;k++)
{
if(k==i || k==j) //排除前两个数
continue;
else
for(m=k+1;m<=4;m++)
number++;
}
}
}

自己码的代码累死了,也是我注册百度以来回答的第一个问题。貌似是对的。LZ看看

参考资料:自己想的

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯