找出一组数中只出现一次的数字

题目要求找出只出现一次的数字,但是我的程序输入之后,没有任何输出

这是题目和代码

/*现给你一组数,要求你找出其中只出现过一次的那个数。题目保证只有一个数字出现过一次,
并且除了只出现一次的那个数字外,其余的数字均出现了偶数次。*/
#include <stdio.h>
int main()
{
    int n,temp,num[100],flag,i,j;
    scanf("%d",&n);
    while(n != 0)
    {
        i = 0;
        while (scanf("%d",&num[i]) != EOF)
        {
            i++;
        }
        for(i = 0;i < n;i++)
        {
            flag = 1;
            temp = num[i];
            for(j = 0;j<n;j++)
            {
                if(temp==num[j])
                {
                    flag = 0;
                    break;
                }
                
            }
            if(flag==1)
            printf("%d",temp);
            scanf("%d",&n);
        }
    }
 } 

是因为这个判断条件吗

img

i和j的值相等时,temp是一定满足的,就是说flag==0是永远成立的
可以再加一个判断if((temp==num[j])&&(i!=j))