小明不codeing 2021-11-11 20:21 采纳率: 83.3%
浏览 29

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

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

这是题目和代码

/*现给你一组数,要求你找出其中只出现过一次的那个数。题目保证只有一个数字出现过一次,
并且除了只出现一次的那个数字外,其余的数字均出现了偶数次。*/
#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);
        }
    }
 } 

  • 写回答

1条回答 默认 最新

  • 星星不再亮 2021-11-12 10:09
    关注

    是因为这个判断条件吗

    img

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

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月11日

悬赏问题

  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据
  • ¥15 关于树的路径求解问题
  • ¥15 yolo在训练时候出现File "D:\yolo\yolov5-7.0\train.py"line 638,in <module>
  • ¥30 戴尔inspiron独显直连
  • ¥15 进行一项代码设计遇到问题
  • ¥15 Mutisim中关于74LS192N计数器芯片设计(计数器)
  • ¥50 fastadmin后台无法删除文件
  • ¥15 oracle查询Socket read timed out错误