有没有人解决我的代码问题?就是我这个代码连最开始的printf都执行不了。
如果有厉害的看看我再代码输入
3
1 -2 3
结果输出1而不是2。我感觉没问题,AI也是没问题。但devC++就是有上述问题

#include <stdio.h>
#include <math.h>
int main(){
int n=0;
printf("%d",n);
scanf("%d",&n);
int cnt=0,a[n];
for(cnt=0;cnt<n;cnt++){
scanf("%d",&a[cnt]);
}
int i=0,j=0,k=0;
int m=n*(n-1)/2;
for(cnt=0;cnt<n-1;cnt++){
if(a[cnt]==a[cnt+1]){
i++;
}
if(a[cnt]<=0){
j++;
}
if(a[cnt]>=0){
k++;
}
}
if(a[n-1]<=0){
j++;
}
if(a[n-1]>=0){
k++;
}
if(i==n-1 || j==n || k==n){
printf("%d",m);
return 0;
}
int jia,jian,p=0,q=0;
int max=0,min=0,max1=0,min1=0;
for(cnt=0,i=1,k=0;cnt!=n-1;i++){
jia=a[cnt]+a[cnt+i];
jian=a[cnt]-a[cnt+i];
jia=abs(jia);
jian=abs(jian);
if(jia>=jian){
max1=jia;min1=jian;
}else{
max1=jian;min1=jia;
}
p=abs(a[cnt]);
q=abs(a[cnt+i]);
if(p>q){
max=p;min=q;
}else{
min=p;max=q;
}
if(max1>=max && min1<=min){
k++;
}
if((cnt+i)==n-1){
cnt++;
i=0;
}
}
printf("%d",k);
return 0;
}