口袋中有红、黄、蓝、白、黑五种颜色的球若干,每次从口袋中取出3个球。求取法

口袋中有红、黄、蓝、白、黑五种颜色的球若干,每次从口袋中取出3个球。问得到三种不同颜色的球可以选取的方法,打印出三种颜色的各种组合(用C语言)编写... 口袋中有红、黄、蓝、白、黑五种颜色的球若干,每次从口袋中取出3个球。问得到三种不同颜色的球可以选取的方法,打印出三种颜色的各种组合

(用C语言)编写
展开
 我来答
聊生活
高能答主

2021-11-15 · 生活小能手
聊生活
采纳数:48 获赞数:2216

向TA提问 私信TA
展开全部

循环遍历即可。if (i != j && j !=k && k!=i) 。

三种不同颜色的条件#include <stdio.h>#include <stdlib.h>void main(){int i,j,k,n=0;char c[5][7]={"red","yellow","blue","white","black"};for (i=0;i<5;i++)for (j=i+1;j<5;j++)for (k=j+1;k<5;k++){ if (i != j && j !=k && k!=i) printf("%s %s %s\n",c[i],c[j],c[k]); n++;}。

printf("n=%d",n);}得:red yellow bluered yellow whitered yellow blackred blue whitered blue blackred white blackyellow blue whiteyellow blue blackyellow white blackblue white blackn=10

小luo爱生活zzz
高能答主

2021-11-11 · 阳光是最好的浪漫‎。
小luo爱生活zzz
采纳数:184 获赞数:3338

向TA提问 私信TA
展开全部

得到三种不同颜色的球可以选取的方法,打印出三种颜色的各种组合循环遍历即可。

5x4x3/1/2/3=10

共有10种取法。

可以用递归程序实现输出所有的取法。


我们需要给予程序如阶乘函数的定义以语义function factorial(n:Nat):Nat ≡ if (n==0)then 1 else n*factorial(n-1)。

 这个阶乘程序的意义应当是在自然数上一个函数,但是由于它的递归定义,如何以复合方式理解它是不明白的。

给定偏函数 f 和 g,设"f≤g"意味着"在 f 定义的所有值之上 f 一致于 g"。 通常假定这个域的某个性质,比如链的极限的存在性(参见cpo)和一个底元素。

偏函数的偏序有一个底元素,完全未定义函数。它还有链的最小上界。各种额外性质经常是合理的和有用的: 在域理论条目中有更详尽细节。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雅泽美食大世界
2019-12-30 · TA获得超过1.3万个赞
知道小有建树答主
回答量:1158
采纳率:96%
帮助的人:28.2万
展开全部

循环遍历即可。
if(i!=j&&j!=k&&k!=i)--三种不同颜色的条件

#include<stdio.h>
#include<stdlib.h>
voidmain()
{
inti,j,k,n=0;
charc[5][7]={"red","yellow","blue","white","black"};
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
for(k=j+1;k<5;k++)
{if(i!=j&&j!=k&&k!=i)printf("%s%s%s\n",c[i],c[j],c[k]);n++;};
printf("n=%d",n);
}
得:
redyellowblue
redyellowwhite
redyellowblack
redbluewhite
redblueblack
redwhiteblack
yellowbluewhite
yellowblueblack
yellowwhiteblack
bluewhiteblack
n=10

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
推荐于2017-11-27 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5204万
展开全部
循环遍历即可。
if (i != j && j !=k && k!=i) -- 三种不同颜色的条件

#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,k,n=0;
char c[5][7]={"red","yellow","blue","white","black"};
for (i=0;i<5;i++)
for (j=i+1;j<5;j++)
for (k=j+1;k<5;k++)
{ if (i != j && j !=k && k!=i) printf("%s %s %s\n",c[i],c[j],c[k]); n++;};
printf("n=%d",n);
}
得:
red yellow blue
red yellow white
red yellow black
red blue white
red blue black
red white black
yellow blue white
yellow blue black
yellow white black
blue white black
n=10
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5eee082
2012-08-11
知道答主
回答量:6
采纳率:0%
帮助的人:9395
展开全部
#include<stdio.h>
int main()
{
enum color {red,yellow,blue,white,black};
enum color i,j,k,pri;
int n=0,m,t;
for(i=red;i<=black;i=i+1)
{
for(j=red;j<=black;j=j+1)
{
if(i!=j)
{
for(k=red;k<=black;k=k+1)
{
if(k!=i&&k!=j)
{
n=n+1;
printf("%-4d",n);
for(m=0;m<3;m++)
{
switch(m)
{
case 0: t=i;break;
case 1: t=j;break;
case 2: t=k;break;
}
switch(t)
{
case red: printf("%-10s","red");break;
case yellow: printf("%-10s","yellow");break;
case blue: printf("%-10s","blue");break;
case white: printf("%-10s","white");break;
case black: printf("%-10s","black");break;
}
}
printf("\n");
}
}
}
}
}
system("pause");
return 0;
}

1 red yellow blue
2 red yellow white
3 red yellow black
4 red blue yellow
5 red blue white
6 red blue black
7 red white yellow
8 red white blue
9 red white black
10 red black yellow
11 red black blue
12 red black white
13 yellow red blue
14 yellow red white
15 yellow red black
16 yellow blue red
17 yellow blue white
18 yellow blue black
19 yellow white red
20 yellow white blue
21 yellow white black
22 yellow black red
23 yellow black blue
24 yellow black white
25 blue red yellow
26 blue red white
27 blue red black
28 blue yellow red
29 blue yellow white
30 blue yellow black
31 blue white red
32 blue white yellow
33 blue white black
34 blue black red
35 blue black yellow
36 blue black white
37 white red yellow
38 white red blue
39 white red black
40 white yellow red
41 white yellow blue
42 white yellow black
43 white blue red
44 white blue yellow
45 white blue black
46 white black red
47 white black yellow
48 white black blue
49 black red yellow
50 black red blue
51 black red white
52 black yellow red
53 black yellow blue
54 black yellow white
55 black blue red
56 black blue yellow
57 black blue white
58 black white red
59 black white yellow
60 black white blue
请按任意键继续. . .
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式