yunyi1129 @ 2023-12-09 02:03:53
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,k;
char ch,it;
scanf("%d",&n);
getchar();
for(i=1;i>0;i++){
ch = getchar();
if(ch!='\n'){
if((ch+n)<='z'){
ch = ch + n;
putchar(ch);
}else{
k = n - ('z' - ch);
ch = 'a' + k - 1;
putchar(ch);
}
}else{
break;
}
}
return 0;
}
by SpeedStar @ 2023-12-09 02:39:12
@yunyi1129 看你i的范围。。
by cff_0102 @ 2023-12-09 04:01:54
@yunyi1129 for(i=1;i>0;i++)?
by GoodLuckCat @ 2023-12-09 08:05:59
《for(i=1;i>0;i++)
》
你不超时谁超时啊
by Luzhuoyuan @ 2023-12-09 08:06:24
@yunyi1129 循环里 if(ch!='\n')
改成 if(ch>='a'&&ch<='z')
就过了,估计是换行符不同导致的。这种问题可以用洛谷 IDE 检查出来。
@寒烟冷浅暮殇 @cff_0102 以及楼上两位,人家本来就是想写死循环的。。。
by _Spectator_ @ 2023-12-09 08:31:55
死循环可以写 'while(1)' 或者 'for(;;)'
by cff_0102 @ 2023-12-09 11:52:16
我的问题
by Sci_8633 @ 2023-12-16 18:41:50
在c++中,每个纯空行都占有2字节的空间,如果空行太多,就会占用太多内存。
by yunyi1129 @ 2023-12-18 23:43:20
@Luzhuoyuan 哇我的天,感谢大佬,终于过了,受教了,膜拜大佬。(这些天没看洛谷(军训的reason),抱歉呢,现在才回复)
by Fengshanjian004 @ 2024-03-27 17:14:37
@Luzhuoyuan 遇到了同样的问题,总算解决了,感谢大佬!!!