C homepage: xpzhangme 2018 5 30
C 1
C min(x, y) double
C // min c # include <stdio h> # include <stdlib h> double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!= 3) { fprintf ( stderr, " Usage : %s x y\n", argv [0]) ; return 1; x = atof ( argv [1]) ;
C y = atof ( argv [2]) ; printf (" min (%83f, %83 f) = %83 f\n", x, y, min (x, y)); return 0; double min ( double x, double y) { return (x > y)? x : y;
C
C // p r i n t _ c h a r _ m a t c # include <stdio h> # include <stdlib h> void print_char_mat ( int row, int col, char c); int main ( int argc, char * argv []) { int row, col ; char c; if( argc!= 4) { fprintf ( stderr, " Usage : %s row col char ", argv [0]) ;
C return 1; row = atoi ( argv [1]) ; col = atoi ( argv [2]) ; c = argv [3][0]; print_char_mat (row, col, c); return 0; void print_char_mat ( int row, int col, char c) {
C int i, j; for (i = 0; i < row ; ++i) { for (j = 0; j < col ; ++j) putchar (c); putchar ( \n );
C $ gcc print_ char_ mat c - o print_ char_ mat $ / print_char_mat 4 5 d ddddd ddddd ddddd ddddd
C : 1 4 100 2 400
C // i s _ l e a p c # include < stdio h> # include < stdlib h> # include < stdbool h> bool is_leap ( int year ); int main ( int argc, char * argv []) { int year ; if( argc!= 2) { fprintf ( stderr, " Usage : %s year \n", argv [0]) ; return 1;
C year = atoi ( argv [1]) ; if( is_leap ( year )) printf ("%d is a leap year \n", year ); else printf ("%d is NOT a leap year \n", year ); return 0; bool is_leap ( int year ) { if (! year %4 && year %100! year %400) return true ;
C return false ;
C $ gcc is_ leap c - o is_ leap $ / is_leap 2018 2018 is NOT a leap year
C (x 1,y 1 ),(x 2,y 2 ),(x 3,y 3 ) S = 1 2 1 1 1 x 1 x 2 x 3 y 1 y 2 y 3
C // i s _ l e a p c # include < stdio h> # include < stdlib h> # include < stdbool h> bool is_leap ( int year ); int main ( int argc, char * argv []) { int year ; if( argc!= 2) { fprintf ( stderr, " Usage : %s year \n", argv [0]) ; return 1;
C year = atoi ( argv [1]) ; if( is_leap ( year )) printf ("%d is a leap year \n", year ); else printf ("%d is NOT a leap year \n", year ); return 0; bool is_leap ( int year ) { if (! year %4 && year %100! year %400) return true ;
C return false ;
C $ gcc find_triangle_area c -o find_triangle_area $ / find_triangle_area 0 0 1 0 0 1 Area = 0 500
C power() double
C power() double a n = 1, n = 0, ( a n 2 ) 2 a, n odd, ( a n 2 ) 2, n even
C # include < stdio h> # include < stdlib h> double power ( double a, int n) { if (0 == n) return 1 0; if(n % 2) // odd return power (a, n /2) * power (a, n /2) *a; else return power (a, n /2) * power (a, n /2) ; int main ( int argc, char * argv []) {
C int n; double a; if ( argc!= 3) { printf (" usage : %s base exponetial \n", argv [0]) ; return 1; a = atof ( argv [1]) ; n = atoi ( argv [2]) ; printf (" %2 f ^ %2d = %2 f\n", a, n, power (a, n)); return 0;
C
C $ gcc power c - o power $ / power 2 3 2 00 ^ 3 = 8 00
C to_binary() dec2base()dec2base(129, 16) 7F129
C // d e c 2 b a s e c # include <stdio h> # include <stdlib h> char * BaseString = " 0123456789 ABCDEF "; void dec2base ( unsigned long dec, int base ) ; int main ( int argc, char * argv []) { unsigned long dec ; int base ; if( argc!= 3) {
C fprintf ( stderr, " Usage : %s dec base \n", argv [0]) ; return 1; dec = strtoul ( argv [1], NULL, 0); base = atoi ( argv [2]) ; printf (" (10) %lu = (%d) ", dec, base ); dec2base (dec, base ); putchar ( \n ); return 0; void dec2base ( unsigned long dec, int base )
C { int r; r = dec % base ; if ( dec >= base ) dec2base ( dec / base, base ); putchar ( BaseString [r]); return ;
C $ gcc dec2base c - o dec2base $ / dec2base 32 16 (10) 32 = ( 16) 20
C 3 A B C A 64 A C 2 64 1 500
C n = 1 A C 2 1 1 = 1 n > 1 3 2 n 1 1 C A n 1 B 2 A 3 A B n 1 C
C A B C
C A B C
C A B C
C A B C
C A B C
C A B C
C A B C
C A B C
C // h a n o i c # include <stdio h> # include <stdlib h> typedef struct { int arr [15]; int nr; Stick ; Stick data [3]; void hanoi_init ( int n) { int i; for (i = 0; i < n; i ++)
C data [0] arr [i] = n - i; data [0] nr = n; data [1] nr = 0; data [2] nr = 0; void hanoi_display ( void ) { int i, j, k; for (i = 0 ;i < 3; i ++) { for (j = 0; j < data [i] nr; j ++) printf (" %2 d", data [i] arr [j]); for (k = data [i] nr; k >= data [i] nr && k < 15; k ++)
C printf (" -"); printf ("\n"); void move ( int src, int dest ) { int tmp ; tmp = data [ src ] arr [-- data [ src ] nr ]; data [ dest ] arr [ data [ dest ] nr ++] = tmp ; getchar (); hanoi_display ();
C void hanoi ( int src, int dest, int tmp, int n) { if(n == 1) { move (src, dest ); return ; hanoi (src, tmp, dest, n -1) ; move (src, dest ); hanoi (tmp, dest, src, n -1) ; int main ( int argc, char ** argv ) { if( argc!= 2) {
C printf (" usage : %s <1-15 >\n", * argv ); return 0; else { int m = atoi ( argv [1]) ; if(m < 1 m > 15) { printf (" pls input a num < 0-15 > not %d\n", m); return 0; hanoi_init (m); hanoi_display (); hanoi (0, 2, 1, m); return 0;
C