#include #include #define HASH_SIZE 100 struct PhoneName { int phone ; char name[ 20 ] ; } ; struct PhoneName table[ HASH_SIZE ] ; int hash_func( int phone ) { return phone % HASH_SIZE ; } // 配列に電話番号と名前を保存 void entry( int phone , char* name ) { int idx = hash_func( phone ) ; table[ idx ].phone = phone ; strcpy( table[ idx ].name , name ) ; } // 電話番号から名前を調べる char* search( int phone ) { int idx = hash_func( phone ) ; return table[ idx ].name ; } int main() { char *ans ; entry( 272925 , "t-saitoh" ) ; entry( 621111 , "FukuiNCT" ) ; if ( (ans = search( 272925 )) != NULL ) printf( "%s\n" , ans ) ; return 0 ; }