Chinaunix首页 | 论坛 | 博客
  • 博客访问: 360016
  • 博文数量: 53
  • 博客积分: 139
  • 博客等级: 入伍新兵
  • 技术积分: 589
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-27 01:55
个人简介

学习linux,学习编程。

文章分类

全部博文(53)

文章存档

2019年(1)

2018年(4)

2016年(4)

2014年(11)

2013年(33)

分类: C/C++

2013-11-28 21:36:22

《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;
}


阅读(1614) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~