用一个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);
- /*
- 12. 两队比赛,甲队有A、B、C三人,乙队有X、Y、Z三人。
- 抽签结束后有人打听比赛名单。A说他不和X比,C说他不和X、Y比。
- 编程找出比赛抽签结果。
- */
- #include <stdio.h>
- #include <stdlib.h>
- int main( void )
- {
- int A,B,C;
- A
- = B
- = C
- = 'X' * 'Y' * 'Z' ; // 表示与X、Y、Z比赛皆有可能
-
- C = C / 'X' / 'Y' ; //C不和X、Y比
- A = A / 'X' ; //A不和X比
- A = A / C ; //A也不会和C的对手比
- B = B / A / C ; //B不会和A,C的对手比
-
- printf("A-%c:B-%c:C-%c\n" , A , B , C );
-
- system("PAUSE");
- return 0;
- }
问题及解的表示方法并不唯一,也可以用其他的方法。例如用为'X' + 'Y' + 'Z'表示与X、Y、Z比赛皆有可能。
阅读(1450) | 评论(0) | 转发(1) |