|
发表于 2014-9-29 14:01:12
|
显示全部楼层
- /*
- 有一道题目是这样的: F = ( AB + ~A~B ) + ( CD + ~C~D ) = 1 //~代表非,~A~B即代表A非与B非
- A、B、C、D都只能是0或1。
- 求编程列出ABCD的值组合,用真值表列出。
- */
- #include <stdio.h>
- #define A(i) ((i&1) != 0)
- #define B(i) ((i&2) != 0)
- #define C(i) ((i&4) != 0)
- #define D(i) ((i&8) != 0)
- int validate(int i);
- void print( int i );
- int main(void) {
- int i = 0;
- for(;i<16;++i)
- if(validate(i))
- print(i);
- return 0;
- }
- int validate(int i) {
- return ((A(i)&&B(i) || !A(i)&&!B(i)) || ( C(i)&&D(i) || !C(i)&&!D(i) ));
- }
- void print( int i ) {
- printf( "A:%d, B:%d, C:%d, D:%d \n", A(i), B(i), C(i), D(i) );
- }
复制代码 |
|