以下是你提供的代码的修改版本:
#include <stdio.h>
int main() {
int n, i;
scanf("%d", &n);
if (n == 1) {
printf("Jolly");
return 0;
}
int a[n];
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
int diff[n - 1];
for (i = 1; i < n; i++) {
int absDiff = abs(a[i] - a[i - 1]);
if (absDiff <= 0 || absDiff >= n || diff[absDiff - 1] == 1) {
printf("Not jolly");
return 0;
}
diff[absDiff - 1] = 1;
}
printf("Jolly");
return 0;
}
这个修改后的代码解决了之前提到的问题并保持了原有逻辑。现在你应该能够正确计算绝对值并得到正确的结果了。记得在编译和运行之前检查是否包含了正确的头文件,并仔细检查代码中的变量和循环条件。如果还遇到问题,请提供更多详细信息以便我能够帮助你更好地解决问题。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |