inlineintcode(char c) { if (c == 'B' || c == 'P' || c == 'F' || c == 'V') return1; elseif (c == 'C' || c == 'S' || c == 'K' || c == 'G' || c == 'J' || c == 'Q' || c == 'X' || c == 'Z') return2; elseif (c == 'D' || c == 'T') return3; elseif (c == 'L') return4; elseif (c == 'M' || c == 'N') return5; elseif (c == 'R') return6; elsereturn0; } intmain() { char str[22]; puts(" NAME SOUNDEX CODE");
while (fgets(str, 22, stdin)) { int count = 3, len = strlen(str) - 1, last = code(str[0]); str[len] = NULL; printf(" %-25s%c", str, str[0]); for (int i = 1; i < len&&count; i++) { int c = code(str[i]); if (c != last&&c) { putchar('0' + c); count--; } last = c; }