/* ECP: FILEname=fig7_3.c */ /* 1*/ #include /* 2*/ /* Print Four Integers, But Avoid Duplicates */ /* 3*/ #define CompExch( X, Y ) \ /* 4*/ if( X > Y ) { int _Tmp; _Tmp = X; X = Y; Y = _Tmp; } /* 5*/ main( void ) /* 6*/ { /* 7*/ int Num[ 4 ]; /* Num[ 0 ] Num[ 1 ] Num[ 2 ] Num[ 3 ] */ /* 8*/ printf( "Enter four integers: " ); /* 9*/ if( scanf( "%d %d %d %d", /*10*/ &Num[ 0 ], &Num[ 1 ], &Num[ 2 ], &Num[ 3 ] ) != 4 ) /*11*/ { /*12*/ printf( "Expected four integers -- exiting...\n" ); /*13*/ return 1; /*14*/ } /*15*/ CompExch( Num[ 0 ], Num[ 1 ] ); /*16*/ CompExch( Num[ 2 ], Num[ 3 ] ); /*17*/ CompExch( Num[ 0 ], Num[ 2 ] ); /*18*/ CompExch( Num[ 1 ], Num[ 3 ] ); /*19*/ CompExch( Num[ 1 ], Num[ 2 ] ); /*20*/ printf( "%d", Num[ 0 ] ); /*21*/ if( Num[ 1 ] != Num[ 0 ] ) /*22*/ printf( " %d", Num[ 1 ] ); /*23*/ if( Num[ 2 ] != Num[ 1 ] ) /*24*/ printf( " %d", Num[ 2 ] ); /*25*/ if( Num[ 3 ] != Num[ 2 ] ) /*26*/ printf( " %d", Num[ 3 ] ); /*27*/ printf( "\n" ); /*28*/ return 0; /* Normal Exit */ /*29*/ }