刚看了qsort的实现,正好碰到一道水题,试试哈。。。AC通过

#include  < iostream >
#include 
< string >
#include 
< stdlib.h >
using   namespace  std;

int  cmp( const   void *  a, const   void *  b)
{
    
return *(int*)b-*(int*)a;
}

int  main()
{
    
int n=0;
    
int input[16];
    cin
>>input[n];
    
while (input[n]!=-1)
    
{
        
while (input[n]!=0)
        
{
            n
++;
            cin
>>input[n];
        }

        qsort(input,n,
sizeof(input[0]),cmp);
        
int count=0;
        
for (int i=0;i<n-1;i++)
        
{
            
if (input[i]%2!=0)
            
{continue;
            }

            
for (int j=i+1;j<n;j++)
            
{
                
if (input[i]/(double)2==input[j])
                
{
                    count
++;
                    
break;
                }

            }

        }

        cout
<<count<<endl;
        
if (input[n]==0)
        
{
            n
=0;
            memset(input,
0,sizeof(input));
        }

        cin
>>input[0];
    }

}