1.习题9.1
# include <stdio.h> # define jh ( a, b) { t= a; a= b; b= t; } int main ( ) { int a, b, t; scanf ( "%d%d" , & a, & b) ; printf ( "a=%d\tb=%d\n" , a, b) ; jh ( a, b) ; printf ( "a=%d\nb=%d\n" , a, b) ; return 0 ; } 2.习题9.2
# include <stdio.h> # define ys ( a, b) a% bint main ( ) { int a, b, c; printf ( "Please input a and b:\n" ) ; scanf ( "%d%d" , & a, & b) ; if ( b== 0 ) scanf ( "%d" , & b) ; printf ( "\n\n" ) ; printf ( "a=%d\tb=%d\n" , a, b) ; c= ys ( a, b) ; printf ( "a=%d\tb=%d\tc=%d\n" , a, b, c) ; return 0 ; } 3.习题9.3
# include <stdio.h> # include <math.h> # define s ( a, b, c) 1.0 / 2 * ( a+ b+ c) # define area ( s, a, b, c) sqrt ( s* ( s- a) * ( s- b) * ( s- c) ) int main ( ) { double a, b, c; double s, area; scanf ( "%lf%lf%lf" , & a, & b, & c) ; s= s ( a, b, c) ; area= area ( s, a, b, c) ; printf ( "a=%f\nb=%f\nc=%f\ns=%f\narea=%f\n" , a, b, c, s, area) ; return 0 ; } 4.习题9.8
# include <stdio.h> # define MAX ( a, b, c) ( a= a> b? a: b, a= a> c? a: c) int main ( ) { int a, b, c; int max; int max_ ( int , int , int ) ; scanf ( "%d%d%d" , & a, & b, & c) ; // max=max_(a,b,c); printf ( "max=%d\n" , MAX ( a, b, c) ) ; return 0 ; } int max_ ( int a, int b, int c) { int max; max= a> b? a: b; max= max> c? max: c; return max; } 5.习题9.10
# include <stdio.h> # define CHANGE 0 int main ( ) { char ss[ 50 ] ; int i; gets ( ss) ; # if CHANGE for ( i= 0 ; ss[ i] != '\0' ; i++ ) if ( ss[ i] >= 'a' && ss[ i] <= 'z' ) { if ( ss[ i] == 'z' ) ss[ i] = 'a' ; else ss[ i] = ss[ i] + 1 ; } printf ( "%s\n" , ss) ; # else printf ( "%s\n" , ss) ; # endif return 0 ; }