编程论坛
注册
登录
编程论坛
→
C语言论坛
求3种颜色球的取法
afdgaerlkge
发布于 2020-12-31 19:04, 1150 次点击
口袋中红、黄、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况。
1 回复
#2
风过无痕1989
2020-12-31 22:27
回复 楼主 afdgaerlkge
程序代码:
//
口袋中红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,
//
输出每种排列的情况
#include <stdio.h>
void
print_color(
int
p);
int
main()
{
int
i, j, k, n =
0
, p, q, r, arr[
100
];
for
(i =
1
;i <
6
;i++)
{
for
(j =
1
;j <
6
;j++)
{
for
(k =
1
;k <
6
;k++)
{
if
(i != j && j != k && k != i)
{
arr[n] =
100
* i +
10
* j + k;
n++;
}
}
}
}
printf(
"
共有 %d 种取法:\n
"
, n);
for
(i =
0
;i < n;i++)
{
p = arr[i] /
100
;
print_color(p);
//
输出第一个拿出来的小球
q = (arr[i] /
10
) %
10
;
print_color(q);
//
输出第二个拿出来的小球
r = arr[i] %
10
;
print_color(r);
//
输出第三个拿出来的小球
printf(
"
\n
"
);
}
}
void
print_color(
int
p)
{
switch
(p)
{
case
1
:printf(
"
红
"
);
break
;
case
2
:printf(
"
黄
"
);
break
;
case
3
:printf(
"
蓝
"
);
break
;
case
4
:printf(
"
白
"
);
break
;
case
5
:printf(
"
黑
"
);
return
0
;
}
}
1