OnceYk @ 2020-10-30 21:06:11
#include <stdio.h>
int main()
{
char a;
int n;
scanf("%d",&n);
n=n%26;
getchar();
while(scanf("%c",&a)!='\n'&&a<='z'&&a>='a')
{
if(a<='z'-n)
printf("%c",a+n);
else
printf("%c",a-26+n);
}
return 0;
}
by Out_Land @ 2020-10-30 21:31:00
真是诡异呢~
by Out_Land @ 2020-10-30 21:31:27
搞了半天终于知道了
by Out_Land @ 2020-10-30 21:31:53
#include <stdio.h>
int main()
{
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
char a;
int n;
scanf("%d",&n);
n=n%26;
char cc=getchar();
cc=getchar();
while((a=getchar())!='\n'&&a<='z'&&a>='a')
{
if(a<='z'-n)
printf("%c",a+n);
else
printf("%c",a-26+n);
}
return 0;
}
by Out_Land @ 2020-10-30 21:32:07
@OnceYk
by Out_Land @ 2020-10-30 21:33:20
前两行文件输入输出删掉
可能是因为文件中第一行n后面有一个空格
by Out_Land @ 2020-10-30 21:35:26
因为你不知道文件格式
所以面对字符读入最好不要一个一个读
不然数据中不知道哪里多了几个空格就会暴毙
@OnceYk
by OnceYk @ 2020-10-30 22:31:52
大佬,大佬 空格~是输出中最后多了吗 @Out_Land
by Out_Land @ 2020-10-31 21:38:09
@OnceYk 不是,是读入的时候
本来第一行只有一个数字的话就是对的
可是数据里数字后面多了一个空格
就会导致后面读的字符全部错位了
by Out_Land @ 2020-10-31 21:40:05
如:
0
abc
这样你会输出abc
可是这样:
0空格
abc
这样你的输出会有空格
by OnceYk @ 2020-11-05 08:27:08
@Out_Land 这几天在考试,就没上洛谷~ 我那个,就,还是没太懂大佬意思欸,输入的时候不是先打个数字,再输几个英文字符嘛,为啥和空格有关系欸~~ 是那个getchar有问题吗(小纠结)