问题描述:
给一串各不相同的数字,问其中几个数字满足:这串数字中存在一个数是它的两倍。
解题思路:
定义一个数组,从第一个元素开始,每一个元素都与后面元素进行计算,在定义一个整数,记录个数。
#include<iostream>
using namespace std;
int a[20] ;
int ans ;
int gao()
{int i, j, n ;
int cnt = 0 ;
ans = 0 ;
while (cin>>n)
{if(n==-1)
return 0 ;
if (n==0)
break ;
a[cnt++]=n; }
for (i=0;i<cnt;i++)
{for (j=0;j<cnt;j++)
if (a[j]==a[i]*2)
ans++; }
return 1;}
int main ()
{while (gao())
{cout<<ans;}
return 0 ;
}
int a[20] ;
int ans ;
int gao()
{int i, j, n ;
int cnt = 0 ;
ans = 0 ;
while (cin>>n)
{if(n==-1)
return 0 ;
if (n==0)
break ;
a[cnt++]=n; }
for (i=0;i<cnt;i++)
{for (j=0;j<cnt;j++)
if (a[j]==a[i]*2)
ans++; }
return 1;}
int main ()
{while (gao())
{cout<<ans;}
return 0 ;
}