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