Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229407
  • 博文数量: 39
  • 博客积分: 1130
  • 博客等级: 少尉
  • 技术积分: 453
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 15:54
文章分类

全部博文(39)

文章存档

2012年(1)

2011年(31)

2010年(7)

分类: C/C++

2011-06-17 23:39:11

     用一个int类型的数据表示问题的初始条件及问题的解,这个题目需要注意的是不要定义A,B,C为char类型,因为'X' * 'Y' *  'Z'已经超过了char类型所能表示的范围。int类型可以使用%c格式输出。
     其实即使是char类型的数据,在使用%c格式输出时,也同样是经过了隐式的类型转换,转换成了int类型的数据输出的。比如,对于
          char c='A';
printf("%c\n",c);
其实是
printf("%c\n",(int)c);

  1. /*
  2. 12. 两队比赛,甲队有A、B、C三人,乙队有X、Y、Z三人。
  3. 抽签结束后有人打听比赛名单。A说他不和X比,C说他不和X、Y比。
  4. 编程找出比赛抽签结果。
  5. */
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. int main( void )
  9. {
  10.   int A,B,C;
  11.     A
  12.   = B
  13.   = C
  14.   = 'X' * 'Y' * 'Z' ; // 表示与X、Y、Z比赛皆有可能
  15.   
  16.   C = C / 'X' / 'Y' ; //C不和X、Y比
  17.   A = A / 'X' ;       //A不和X比
  18.   A = A / C ;         //A也不会和C的对手比
  19.   B = B / A / C ;     //B不会和A,C的对手比
  20.   
  21.   printf("A-%c:B-%c:C-%c\n" , A , B , C );
  22.   
  23.   system("PAUSE");
  24.   return 0;
  25. }
     问题及解的表示方法并不唯一,也可以用其他的方法。例如用为'X' + 'Y' +  'Z'表示与X、Y、Z比赛皆有可能。
阅读(1442) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~