USACO 1.2 Name That Number

来源:互联网 发布:数据表格怎么做 编辑:程序博客网 时间:2024/05/08 10:09

这道题只要开始时将字母转换为对应的数字存在数组num中,然后把输入的数字分位存储在数组name中,最后将字典中的数据现根据num转化为数字,然后与name比较就可以了。

/*ID: acmerfi1LANG: CTASK: namenum*/#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX 15int name[MAX], flag = 0, i;int num[26]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,0,7,7,8,8,8,9,9,9,0};char str[MAX], les[MAX];int main(){freopen("namenum.in", "r", stdin);freopen("namenum.out", "w", stdout);fgets(les, MAX, stdin);memset(name, 0, sizeof(name));for(i = 0; i < strlen(les) - 1; i++){name[i] = les[i] - '0';}freopen("dict.txt", "r", stdin);while(scanf("%s", str) != EOF){for(i = 0; str[i] != 0; i++){if(num[str[i]-'A'] != name[i]) break;}if(0 == str[i] && 0 == name[i]) {printf("%s\n", str);flag = 1;}}if(!flag) printf("NONE\n");return 0;}


原创粉丝点击