编程⼩⽩⽤C语⾔完成摸球问题
碰到问题
1. 编写⼀个程序,从3个红球,5个⽩球,6个⿊球中任意取出8个球,且其中必须有红球,输出所有可能的⽅案。思路分析
依题意,必须有红球,即红球最少有1个,最多有3个,考虑极端情况,
当红球只有1个的时候,⽩球有5个的时候,⼀定会有1个⿊球,
或者红球1个,⿊球6个,⼀定会有1个⽩球.
当3个红球,5个⽩球的时候,⿊球1个都没摸到,
或者3个红球,5个⿊球,⽩球1个都没摸到.
综合情况,红球,⽩球,⿊球,设为a,b,c.(1<=a<=3,0<=b<=5,0<=c<=6)
a+b+c⼀定为8 =====>  a+b+c==8
撸写代码
#include<stdio.h>
c语言编程小游戏int main()
{
int a,b,c;  //设红球有a个,⽩球有b个,⿊球有c个
for(a=1;a<=3;a++)
for(b=0;b<=5;b++)
for(c=0;c<=6;c++)
if(a+b+c==8)
{
printf("红球=%d ⽩球=%d ⿊球=%d\n",a,b,c);
}
return 0;
}
测试结果
补充
如果插⼀句,需要知道⼀共输出了多少种情况呢?
#include<stdio.h>
int main()
{
int a,b,c,n=0;
for(a=1;a<=3;a++)
for(b=0;b<=5;b++)
for(c=0;c<=6;c++)
if(a+b+c==8)
{
++n;
printf("红球=%d ⽩球=%d ⿊球=%d\n",a,b,c);
}
printf("⼀共有%d种情况!",n);
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。