VS2010上没有问题,交上去一直Runtime Error(Segment Fault),求指导代码:#include#include#includeint main(){char s[20],line[205],last[10];int len,i;while(1){scanf("%s",s);fflush(stdin);if(!strcmp(s,"ENDOFINPUT")) break;//scanf("%[^\n]s",li
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 15:28:35
VS2010上没有问题,交上去一直Runtime Error(Segment Fault),求指导代码:#include#include#includeint main(){char s[20],line[205],last[10];int len,i;while(1){scanf("%s",s);fflush(stdin);if(!strcmp(s,"ENDOFINPUT")) break;//scanf("%[^\n]s",li
VS2010上没有问题,交上去一直Runtime Error(Segment Fault),求指导
代码:
#include
#include
#include
int main()
{
char s[20],line[205],last[10];
int len,i;
while(1)
{
scanf("%s",s);
fflush(stdin);
if(!strcmp(s,"ENDOFINPUT")) break;
//scanf("%[^\n]s",line);
gets(line);
fflush(stdin);
scanf("%s",last);
fflush(stdin);
len=strlen(line);
for(i=0;i='A'&&line[i]='F')
{
line[i]-=5;
}
else
{
line[i]=line[i]-4+'Z'-'A';
}
}
}
printf("%s\n",line);
}
return 0;
}
Description
Julius Caesar lived in a time of danger and
intrigue.The hardest situation Caesar ever faced was keeping himself
alive.In order for him to survive,he decided to create one of the
first ciphers.This cipher was so incredibly sound,that no one could
figure it out without knowing how it worked.
You are a sub captain of Caesar's army.It is your job to decipher the
messages sent by Caesar and provide to your general.The code is simple.
For each letter in a plaintext message,you shift it five places to the
right to create the secure message (i.e.,if the letter is 'A',the
cipher text would be 'F').Since you are creating plain text out of
Caesar's messages,you will do the opposite:
Cipher text
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Plain text
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
Only letters are shifted in this cipher.Any non-alphabetical character
should remain the same,and all alphabetical characters will be upper
case.
Input
Input to this problem will consist of a
(non-empty) series of up to 100 data sets.Each data set will be
formatted according to the following description,and there will be no
blank lines separating data sets.All characters will be uppercase.
A single data set has 3 components:
Start line - A single line,"START"
Cipher message - A single line containing from one to two hundred
characters,inclusive,comprising a single message from Caesar
End line - A single line,"END"
Following the final data set will be a single line,"ENDOFINPUT".
Output
For each data set,there will be exactly one line of output.This is the original message by Caesar.
VS2010上没有问题,交上去一直Runtime Error(Segment Fault),求指导代码:#include#include#includeint main(){char s[20],line[205],last[10];int len,i;while(1){scanf("%s",s);fflush(stdin);if(!strcmp(s,"ENDOFINPUT")) break;//scanf("%[^\n]s",li
数组越界了 你数组开大点试试
orz还有正则表达式