和数问题,求解答~~
Description
给定一个整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + 3。
Input
第一行是一个整数T,表示一共有多少组数据。 1<= T <= 100
接下来的每组数据共两行,第一行是数列中数的个数n ( 1 <= n <= 100),第二行是由n个整数组成的数列。
Output
对于每组数据,输出一个整数(占一行),就是数列中等于其他两个数之和的数的个数。
Sample Input
2
4
1 2 3 4
5
3 5 7 9 10
Sample Output
2
1
#include<stdio.h>
int select(int a[],int n)
{
int i=0,j=0,k=0;
int temp;
int flag=0;
int s=0;
for(i=0;i<n;++i)
for(j=0;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i]-a[j];
flag=0;
for(k=0;k<n;k++)
{
if(a[k]==temp&&k!=j)
{
s++;
flag=1;
}
if(flag==1)
break;
}
if(flag==1)
break;
}
}
return s;
}
int main()
{
int a[100];
int b[100];
int n;
int i=0;
int j=0;
int num;
scanf("%d",&num);
for(j=0;j<num;j++)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
b[j]=select(a,n);
}
for(j=0;j<num;j++)
printf("%d\n",b[j]);
return 0;
}
这是我的代码,但是提交是wronganswer,在vc上编译运行没错啊,难道是是我格式错了,我用数据去检测也没错啊??why??