1.题意
题目大意就是在给出的数字中,找出所有一个数是另外两个不同的数之和的数,求出有几个数即可。本题唯一的坑就是好几组不同的数都有可能等于同一个数,一定要避开这个坑。
2.思路
先输入所有的数,for循环嵌套,如果一个数已经等于另外两数之和的话,跳出循坏,然后进行下一个数,上码。
3.源码
# include <stdio.h>
int main ()
{
int n=0,cnt=0;
int arr[100]={0};
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]); //输入所有的数
}
for(int i=0;i<n;i++) //第一层嵌套,表示一个数
{
int isprime=1;
for(int x=0;x<n;x++)
{
if(isprime==0) break;
for(int y=0;y<n;y++)
{
if(x==y) continue;
if(arr[i]==arr[x]+arr[y]) //又有两层嵌套,表示两数之和
{
cnt++;
isprime=0; //利用isprime=0,跳出两层循环
break;
}
}
}
}
printf("%d",cnt);
return 0;
}