您的位置:首页 > 其它

USACO1.2 Name That Number

2012-01-15 12:26 435 查看


参考的别人的代码写的,思想是用一个数组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};把所有的字母转化成数字,把读入的数字串存到name[]中

再从dirct.txt中读入字符串 化成数字与 name对比 ,

/*

ID:wconvey

PROG:namenum

LANG:C++

*/

#include<iostream>

#include<cstdio>

using namespace std;

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};

int name[13];

char les[13];

int main()

{

freopen("namenum.in","r",stdin);

freopen("namenum.out","w",stdout);

int i=-1,j=0;

while(scanf("%c",&name[++i])!=-1 && name[i]!='\n')

name[i]-='0'; //注意是字符而name[]是int型

if(name[i]=='\n')

name[i]=0;

freopen("dict.txt","r",stdin);

while(scanf("%s",les)!=-1)

{

i=-1;

while(les[++i]!=0)

if(num[les[i]-'A']!=name[i])//读入一个字母化成对应的数字

break;

if(les[i]==0&&name[i]==0)

{printf("%s\n",les);j=1;}

}

if(j==0)

printf("NONE\n");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: