#include<stdio.h>
#include<math.h>
#include<string.h>
int main(){
int test, n, num[16];
scanf("%d", &test);
for(int i = 0; i < test; i++){
int count = 0;
int flag = 0;
memset(num, -1, sizeof(num));//初始化
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &num[i]);
}
for(int j = 0; j < 1000; j++){//進行1000次迭代
count = 0;
for(int k = 0; k < n; k++){
if(k == n - 1){//陣列位置的最後一位
num[k] = abs(num[0] - num[k]);
}
else{
num[k] = abs(num[k] - num[k + 1]);
}
//找尋陣列內值為0的位置
for(int l = 0; l < n; l++){
if(num[l] == 0){
count++;
}
}
if(count == n){//表示陣列內的值全部皆為0
printf("ZERO\n");
flag = 1;
break;
}
}
if(flag == 0){
printf("LOOP\n");
break;
}
}
}
}
請問為什麼會一直重複印出多餘的答案?
if(count == n){//表示陣列內的值全部皆為0printf("ZERO\n");
flag = 1;
break;
}
請問為什麼會一直重複印出多餘的答案?
因為break只會跳出最內層的迴圈