求助C语言

2024-12-29 01:34:48
推荐回答(2个)
回答1:

#include      
#include      
#include      

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

int    main()  
{  
        int    num,    i,    sum,    l,    *a;  
        while    (    scanf("%d",&num)    ==    1  &&  num  )  
        {  
                a    =    (int    *)    malloc    (sizeof(int)    *    num);  
                for    (    i    =0;    i    <    num;    scanf("%d",&a[i++])    );  
                qsort    (    a,    num,    sizeof(int),    comp);  
                for    (    sum    =    0,    i    =    num    -    1;    i    >=    0;    --i)  
                {  
                        for    (    l    =    0;    l    <    i;    l++)  
                                if    (    sqrt    (a[i])    ==    a[l]    )    {    sum++;    break;    }  
                }  
                printf("%d\n",sum);  
                free(a);  
        }  
        return    0;  
}  

回答2: