70,020
社区成员




int main() {
char testdata[]={"5 0 5 1 4 2 3"}, *p=testdata; //用于测试
int n, i, j, k, cnt=0, *a;
//scanf("%d", &n);
n = 7; //用于测试
a = (int*)malloc(sizeof(int)*n);
for(i=0; i<n; i++) { //输入数据
//scanf("%d", &a[i]);
sscanf(p, "%d", &a[i]); p=strstr(p, " ")+1;
}
for(i=0; i<n; i++) { //换一下处理位置,先按元素循环
for (j=0; j<n-1; j++) { //再判断该元素是否与另外两个不同元素的和相等
if(j==i) continue;
for (k=j+1; k<n; k++) {
if (k==i) continue;
if (a[j]+a[k]==a[i]) {
printf("%d=%d+%d\n", a[i], a[j], a[k]);
cnt++;
break;
}
}
if (k<n) break;
}
}
printf("total: %d\n", cnt);
free(a);
return 0;
}
#include<stdio.h>
#include <stdlib.h>
#include<math.h>
int main()
{
int n, sum, count=0;//,j,b,i;
int i, j, k;
int *arr;
scanf("%d",&n);
arr = (int *)malloc(sizeof(int) * n);
if (!arr)
return -1;
for(i=0;i < n; i++)
scanf("%d", &arr[i]);
for (i = 0; i < n; i++)
for (j = i+1; j < n; j++) {
sum = arr[i] + arr[j];
for (k = 0; k < n; k++) {
if (sum == arr[k] && k != i && k != j) {
printf("%d + %d = %d\n", arr[i], arr[j], arr[k]);
count++;
}
}
}
#if 0
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(j==i)
continue;
for(b=j+1;b<n;b++)
{
if(b==i)
continue;
if(a[i]==a[j]+a[b])
count++;
}
}
#endif
printf("%d\n",count);
free(arr);
return 0;
}