刚看了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];
    }

}