这是我的代码,帮忙改改!
#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;
}
#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语言是你的取法只有一种.不懂的话,只能说明你的数学有问题
本回答被提问者采纳