用c语言写:若一个口袋里有12个球,其中3红,3白,6黑,从中取8个球,问有多少种不同的颜色搭配?

这是我的代码,帮忙改改!
#include "stdio.h"
void main()
{
int i,j,k,sum=0;
for(i=0;i<=6;i++)
{ for(j=0;j<=3;j++)
{for(k=0;k<=3;k++)
{if(i+j+k==5)
{sum++;
printf("红色球:%d 白色球:%d 黑色球:%d\n",j,k,i);
}
}
}
}
printf("共有%d种情况\n",sum);
}

#include<stdio.h>

int main()

{

int m, n, number=0;

printf(" 红球 白球 黑球\n");

printf("......................\n");

for( m=0; m<=3; m++ )

for( n=0; n<=3; n++ )

if(8-m-n<=6)

printf(" %2d: %d %d %d\n", ++number, m, n, 8-m-n);

return 0;

}

扩展资料:  

用C语言简单实现组合

代码:

#include <stdio.h>

#define MAXIN 10

int a[MAXIN]={0};

int counts=0;

void comb(int n, int m)

{

    if (m<=0)

    {

        for (int j=1;j<=counts;j++)

                printf("%d ",a[j]);

            printf("\n");

        return;

    }

    for (int i=n;i>=m;i--)

    {

        a[m]=i;

        comb(i-1,m-1);

    }

}

int main()

{

    int n, m;

    scanf("%d%d", &n, &m);

    counts=m;

    comb(n, m);

    return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-28

#include "stdio.h"

void main()

{

    int i,j,k,sum=0;

       for(i=0;i<=6;i++)

       { 

     for(j=0;j<=3;j++)

          {

      for(k=0;k<=3;k++)

            {

      if(i+j+k==8)

              {sum++;

                   printf("红色球=%d, 白色球=%d, 黑色球=%d\n",j,k,i);

                   

                       }

                  }

             }

          }

     

     printf("共有%d种情况\n",sum);

}

追问

这个不是和我的运行结果一样嘛?正确结果是80

追答

你用数学的方法算,你是把球编号了,但是你在写C的时候比如说你取在6个黑球中取五个用数学算就是6,但是在C语言是你的取法只有一种.不懂的话,只能说明你的数学有问题

本回答被提问者采纳
第2个回答  2011-03-28
我觉得大家的数学思维都有问题。既不能给球编号,也不能重复。
既然讲的是不同的颜色搭配,那就只和颜色的不同有关,和各种颜色的彩球的个数无关。
我觉得就只有三种。
第一种:有红球 白球 黑球
第二种:有红球 黑球
第三种:有白球 黑球
您可以先考虑我的这个思维。如果你觉得我的这个思维还可以,我也可以马上给你把程序编出来。

用c语言写:若一个口袋里有12个球,其中3红,3白,6黑,从中取8个球,问有...
include<stdio.h> int main(){ int m, n, number=0;printf(" 红球 白球 黑球\\n");printf("...\\n");for( m=0; m<=3; m++ )for( n=0; n<=3; n++ )if(8-m-n<=6)printf(" %2d: %d %d %d\\n", ++number, m, n, 8-m-n);return 0;} ...

c语言:一个盒子中放有12个球,其中3个红球,3个白的,6个黑的,从中任取8...
int main(){ int i,j,k;for(i=0;i<=3;i++)for(j=0;j<=3;j++)for(k=0;k<=6;k++)if(i+j+k==8)printf("红球%d个,白球%d个,黑球%d个。",i,j,k);return 0;}

一个口袋中有12个球,其中3个白球,3个红球,6个黑球。要从中任取8个,必...
剩下要选取的8-k个球中,黑球的选法有C(6,8-k)种,红球的选法有C(3,8-k)种;所以,选取的8个球中,白球至少要有1个,共有的搭配数为:C(3,1) * C(6,7) * C(3,7) + C(3,2) * C(6,6) * C(3,6) + C(3,3) * C(6,5) * C(3,5)= 3 * 6 * 3 + 3 *...

一个盒子中放由12个球,其中3个红的,3个白的,6个黑的,从中任取8个球,球...
C(12 8)=C(12 4)=12*11*10*9\/24=495

...口袋里有12个球。3个红的,3个白的,6个黑的。任取8球,有多少种颜色搭...
以下是帮你写的JAVA代码,希望对你有用 \/ 三色球问题。口袋里有12个球。3个红的,3个白的,6个黑的。任取8球,有多少种颜色搭配 author Administrator \/ public class BallDemo { public static void main(String[] args) { int r = 0; \/\/红球数 int w = 0; \/\/白球数 int count = 0;...

java编程一个盒子中放有12个球,三个红的,三个白的,六个黑的,从中任取...
public class Demo03 { \/** * java编程一个盒子中放有12个球,三个红的,三个白的,六个黑的,从中任取八个球,求共有多少种不 *\/ public static void main(String[] args) { int r = 3; int w = 3; int b = 6; int Num = 0; for (int i = 0;...

...12个球,其中5个白球,7个黑球,从中任取3个球,求这3个球中至少有一个...
【答案】:

一个袋中有12个白球和若干个黑球,在不允许将球倒出来数的前提下,小亮为...
估计,由12\/(n+12)=1\/5,解得n=48,所以口袋中大约有48个黑球。这个应该是题目要求的答案(客观),但按照出现的频率最接近的来看,我会把0.4去了(主观),因为后面的4个数更接近。(0.1+0.2+0.1+0.2)\/4=0.15 12\/0.15-12=68 所以口袋中有68个黑球 个人认为68要比48更接近...

...12个球,其中5个白球,7个红球,从中任取3个球,求这3个球中至少有一个...
逆向思维 先求出没有红球的概率 从12个球里面取3个球,一共有C(12,3)=12*11*10\/3*2*1=220种取法 从12个球里面取3个球,没有红球,共有C(5,3)=5*4*3\/3*2*1=10种取法 所以没有红球的概率为10\/220=1\/22 所以至少有一个红球的概率为1-1\/22=21\/22 ...

口袋里有十二个一样的球,三个红色,四个白色,五个蓝色,从中取四个,则至...
只取到1种颜色的方法有C(4,4)(只取4个白色)+C(5,4)(只取4个蓝色)=1+5=6种 总共的方法有C(12,4)=495种 所以只取一种颜色的概率=6\/495=2\/165 所以至少取两种颜色的概率=1-2\/165=163\/165

相似回答