急啊,请高手帮忙啊;C语言编程!重重有赏

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:00:59
题目:袋中有红,黄,白,蓝,黑五种颜色的球.每次从袋中取出三个球,问:得到三种不同颜色的球的可能取法;输出组合的三种颜色!
要求:用C语言编写出程序;
画出N-S流程图《画不来可以不画》;
调试程序并完善程序。

不要说假话,悬赏分为零,还叫“重重有赏”?不过无所谓啦。

下面这个程序,是O(N^3)的,效率是有些低,但是很简单。
思路:利用前两个循环去除,不选出来的两个球(直接考虑选出来的球,会多一层循环。)最层循环,进行遍历,并排除那些已经设定为不选的球。
Dev-Cpp 4.9.9.5 下测试通过,要是在TC中写,请删除system("PAUSE");。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char ball[5][8]={"Red","Yellow","White","Blue","Black"};
int i,j,k,num=0;
puts("All possible selection:\n");
for(j = 0;j<4;j++)
for(k = j+1;k<5;k++)
{
printf("No. %d > ",++num);
for(i = 0;i<5;i++)
if(i!=j&&i!=k)
printf("%s\t",ball[i]);
puts("");
}
puts("\nThat's all!\n");
system("PAUSE");
return 0;
}