您的位置:首页 > 其它

Poj1318 解密

2016-02-01 00:10 387 查看
#include<stdio.h>
#include<string.h>

int main()
{
char dictionary[105][10];
char biao[105][10];
char a[10];
int pos=0;

//开始输入
while(scanf("%s",dictionary[pos]),strcmp(dictionary[pos],"XXXXXX"))
pos++;

for(int i=0;i<pos-1;i++)
{
for(int j=i+1;j<pos;j++)
{
if(strcmp(dictionary[i],dictionary[j])==1)
{
char b[10];
strcpy(b,dictionary[i]);
strcpy(dictionary[i],dictionary[j]);
strcpy(dictionary[j],b);
}
//else if()
}
}

for(int i=0;i<pos;i++)
strcpy(biao[i],dictionary[i]);

for(int k=0;k<pos;k++)
{
int p=strlen(biao[k]);
for(int i=0;i<p-1;i++)
{
for(int j=i+1;j<p;j++)
{
if(biao[k][i]>biao[k][j])
{
int temp=biao[k][i];
biao[k][i]=biao[k][j];
biao[k][j]=temp;
}
}
}
}

//开始破译
while(1)
{
memset(a,'\0',10);
scanf("%s",a);
if(strcmp(a,"XXXXXX")==0)
return 0;
int len=strlen(a);
for(int i=0;i<len-1;i++)				//sort
{
for(int j=i+1;j<len;j++)
{
if(a[i]>a[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}

int f=1;
//排序完了就开始破译吧!!!
for(int i=0;i<pos;i++)
{
if(strcmp(a,biao[i])==0)
{
f=0;
printf("%s\n",dictionary[i]);
}
}
if(f)
printf("NOT A VALID WORD\n");
printf("******\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: