howard234 @ 2024-11-14 10:30:17
请问这个代码五过四是为什么,我自己输入n大一点就无法输出了,我不知道为什么,求大佬解答
#include<stdio.h>
#include<string.h>
char * kaise(char*a,int n){
if(n>=26){
n%=26;
}
for(int i=0;i<strlen(a);i++){
a[i]=a[i]+n;
if(a[i]>'z'){
a[i]=a[i]-26;
}
}
return a;
}
int main(){
char a[100];
int n;
scanf("%d",&n);
scanf("%s",a);
kaise(a,n);
printf("%s",a);
return 0;
}
by Fiendish @ 2024-11-14 10:43:19
#include<stdio.h>
#include<string.h>
int main(){
char a[100];
int n;
scanf("%d",&n);
scanf("%s",a);
for(int i=0;i<strlen(a);i++){
printf("%c",(char)(((int)a[i]-'a'+n)%26+'a'));
}
return 0;
}
by Fiendish @ 2024-11-14 10:44:40
@howard234
by Fiendish @ 2024-11-14 10:44:56
我给的这份代码能过
by Fiendish @ 2024-11-14 10:54:39
问题应该是你直接给
举个例子,ASCII 表中一共有
@howard234
by howard234 @ 2024-11-14 12:33:31
@Fiendish 谢谢,我刚刚翻题解的时候也听到过这个问题,感谢