《C程序设计教程(等2版)》谭浩强著。该书例8.11写得有一点繁琐,那就是关于“输出一种取法”的源程序部分,因此对
它进行了一些修改。
例8.11 口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,请问由3种不同颜色的球排列
有多少种,输出每种排列的情况。
在这里使用了字符2维数组color_names[5][7],先对这个2维数组进行初始化,然后在“输出一种取法”时使用这个2维数
组来简化源程序。关于字符2维数组的内容,可以查看该书的5.3节和5.4节(或者直接查看该书的等5章)。另外,需要
说明一下,修改后的源程序的绝大部分内容是从该书摘抄的。下面是修改后的源程序:
#include
int main ()
{ enum Color {red,yellow,blue,white,black};
enum Color i,j,k,pri;
char color_names[5][7]={"red","yellow","blue","white","black"};
int n,loop;
n=0;
for (i=red; i<=black; i++)
for (j=red; j<=black; j++)
if (i != j)
{ for (k=red; k<=black; k++)
if ((k !=i) && (k != j))
{ n=n+1;
printf ("%-4d %-10s %-10s %-10s\n",n,color_names[i],color_names[j],color_names[k]);
}
}
printf ("total:%5d\n",n);
return 0;
}
阅读(1640) | 评论(0) | 转发(0) |