| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我实在找不出错了,哪位大大有时间帮我看看,Sample Input可以得到正确的答案是不是命令后的空格也要输出
所以"RESULT:"后至少有2个空格
#include<stdio.h>
#include<string.h>
int main()
{
char commad[100],arry[10005],pre,tmp,clj[26];
int i,size,brry[26],key,flag;
for(i=0;i<26;i++)
{
clj[i]=i+'A';//值对应的字母
brry[i]=i;//字母对应的值
}
while(scanf("%s",commad)!=EOF)
{
gets(arry);
size=strlen(arry);pre='A';
if(strcmp(commad,"ENCRYPT")==0)
{
for(i=0;i<size;i++)
{
if(arry[i]>='a'&&arry[i]<='z')
{
tmp=arry[i];
arry[i]=clj[(brry[arry[i]-'a']-brry[pre-'A']+26)%26];
pre=tmp-32;
if(arry[i]>='A'&&arry[i]<='Z')
arry[i]+=32;
}
else if(arry[i]>='A'&&arry[i]<='Z')
{
tmp=arry[i];
arry[i]=clj[(brry[arry[i]-'A']-brry[pre-'A']+26)%26];
pre=tmp;
if(arry[i]>='a'&&arry[i]<='z')
arry[i]-=32;
}
else pre='A';
}
printf("RESULT: %s\n",arry);
}
else if(strcmp(commad,"DECRYPT")==0)
{
for(i=0;i<size;i++)
{
if(arry[i]>='a'&&arry[i]<='z')
{
arry[i]=clj[(brry[pre-'A']+brry[arry[i]-'a'])%26];
pre=arry[i];
if(arry[i]>='A'&&arry[i]<='Z')
arry[i]+=32;
}
else if(arry[i]>='A'&&arry[i]<='Z')
{
arry[i]=clj[(brry[pre-'A']+brry[arry[i]-'A'])%26];
pre=arry[i];
if(arry[i]>='a'&&arry[i]<='z')
arry[i]-=32;
}
else pre='A';
}
printf("RESULT: %s\n",arry);
}
else if(strcmp(commad,"CIPHER")==0)
{
for(i=0;i<26;i++)
brry[i]=26;
key=0;flag=1;
for(i=0;i<size;i++)
{
if(arry[i]>='a'&&arry[i]<='z')
{
clj[key++]=arry[i]-32;
if(brry[arry[i]-'a']!=26)
{
flag=0;
break;
}
else brry[arry[i]-'a']=key-1;
}
else if(arry[i]>='A'&&arry[i]<='Z')
{
clj[key++]=arry[i];
if(brry[arry[i]-'A']!=26)
{
flag=0;
break;
}
else brry[arry[i]-'A']=key-1;
}
if(flag==0)
break;
}
if(key!=26)
flag=0;
if(flag==0)
{
for(i=0;i<26;i++)
{
clj[i]=i+'A';
brry[i]=i;
}
printf("Bad cipher. Using default.\n");
}
else
{
printf("Good cipher. Using ");
for(i=0;i<26;i++)
printf("%c",clj[i]);
printf(".\n");
}
}
else printf("Command not understood.\n");
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator