有问题求助555
查看原帖
有问题求助555
413963
__xgc__楼主2020/11/6 21:13

这里的break用的是不是有问题,我想让找到满足的数之后就跳出并且不重复计数,但输入1 2 3 4 5这样的五个数的时候他还是会把5计两次数

#include <stdio.h>
int main()
{
    int i,j,k,a[100],n,cnt=0,m,flag;
    scanf("%d",&n);
    for(i=0;i<n;i++){//输入n个数 
    	scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++){//判断第i个是否满足 
		for(j=0;j<n;j++){
			for(k=0;k<n;k++){
				m=a[j]+a[k];
				flag=cnt;
				if(a[i]==m&&a[j]!=a[k]&&j!=i&&k!=i) {
				cnt++;	
				break;
				}
				if(flag!=cnt) break;
			}
		}
	}
	printf("%d",cnt/2);
}
2020/11/6 21:13
加载中...