@[White86](/user/1218371)
不是只有$1$个答案符合就一定符合,但有一个答案不符合就一定不符合,因此我改了一下你的代码(将$break$去了,最后若不能匹配,直接$break$并输出“不是”,如果最后还没$break$且$flag=1$输出“是”)
~~不要脸的求互关~~
按照你的码风修改后亲测可过的代码:
```cpp
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,flag=0;
scanf("%d",&n);
int a[n],b[n-1];
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
b[i]=fabs(a[i]-a[i+1]);
}
for(i=1;i<n;i++)
{
flag=0;
for(j=1;j<n;j++)
{
if(b[j]==i){
flag=1;
}
}
if(flag==0){
break;
}
}
if(flag==1)
printf("Jolly");
else if(flag==0)
printf("Not jolly");
return 0;
}
```
by weah964 @ 2024-01-22 12:52:58
@[White86](/user/1218371)
下面是被修改了的核心:
```cpp
for(i=1;i<n;i++)
{
flag=0;
for(j=1;j<n;j++)
{
if(b[j]==i){
flag=1;
}
}
if(flag==0){
break;
}
}
if(flag==1)
printf("Jolly");
else if(flag==0)
printf("Not jolly");
return 0;
```
这段原来长这样(你的错误代码):
```cpp
for(i=1;i<n;i++)
{
flag=0;
for(j=1;j<n;j++)
{
if(b[j]==i){
flag=1;
break;
}
}
}
if(flag==1)
printf("Jolly");
else if(flag==0)
printf("Not jolly");
```
by weah964 @ 2024-01-22 12:57:18
求互关QWQ
by weah964 @ 2024-01-22 12:57:55
已关,求互关(我花了40分钟帮你你就关我嘛QWQ)
by weah964 @ 2024-01-22 12:58:57
@[weah964](/user/1036180) 谢佬了
by White86 @ 2024-01-22 14:02:18
@[weah964](/user/1036180) 佬,我的想法是里面那层循环用来找是否有对应的数,如果有就停止查找了,所以才在判断里加了break,这样有啥问题,求告知谢谢!
by White86 @ 2024-01-22 20:59:21
@[weah964](/user/1036180) 我想的是这样可以缩短一点循环时间
by White86 @ 2024-01-22 21:00:35
@[weah964](/user/1036180) 懂了不用回了谢谢,没考虑到中间如果没有找到匹配的数但是最后有匹配的数的情况
by White86 @ 2024-01-22 21:12:38