为什么要使用如此反人类的输入方式。
/*
ID: modengd1
PROG: namenum
LANG: C++
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *in = fopen ("namenum.in", "r");
FILE *in2 = fopen ("dict.txt", "r");
FILE *out = fopen ("namenum.out","w");
int nsolutions = 0;
int numlen;
char input[20];
char dict[20];
char map[256];
int i, j;
map['A'] = map['B'] = map['C'] = '2';
map['D'] = map['E'] = map['F'] = '3';
map['G'] = map['H'] = map['I'] = '4';
map['J'] = map['K'] = map['L'] = '5';
map['M'] = map['N'] = map['O'] = '6';
map['P'] = map['R'] = map['S'] = '7';
map['T'] = map['U'] = map['V'] = '8';
map['W'] = map['X'] = map['Y'] = '9';
fscanf(in,"%s",input);
int l1=strlen(input);
bool finD=false;
while(~fscanf(in2,"%s",dict))
{
int i;
int l2=strlen(dict);
if(l1!=l2)
continue;
for( i=0;i<l2;i++)
{
if(input[i]!=map[dict[i]])
break;
}
if(i==l2)
{
fprintf (out, "%s\n", dict);
finD=true;
}
}
if(!finD)
fprintf(out,"NONE\n");
return 0;
}