当前位置: 首页 > news >正文

C语言进阶习题【3】(5 枚举)——找单身狗2

1. 题目描述

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。
编写一个函数找出这两个只出现一次的数字。

例如:
有数组的元素是:1,2,3,4,5,1,2,3,4,6
只有5和6只出现1次,要找出5和6.

2 . 思路

遍历数组,两两相比较。
设置一个标记flag = 1,判断如果两个值内容相等,flag = 0,且跳出本次循环,进行下一次,遍历全部之后,flag =1 的就是值只出现一次的。
注意要跳过自己和自己的比较

3. 代码实现

int main()
{
    int a[] = { 1,2,3,4,5,1,2,3,4,6 };//这里数组就应该找出5 和6
    int size = sizeof(a) / sizeof(a[0]);
    int i = 0;
    for (i = 0; i < 10; i++)
    {
        int flag = 1;
        int j = 0;
        for (j = 0; j < 10; j++)
        {
            if (i == j)//跳过自己和自己的元素比较
            {
                continue;
            }
            if (a[j] == a[i])
            {
                flag=0;
                break;
            }
        }
        if (flag == 1)
        {
            printf("%d ", a[i]);
        }
    }
    return 0;
}

在这里插入图片描述

相关文章:

  • 3DsMax快捷键
  • 【kafka系列】Kafka事务的实现原理
  • VSCode C/C++ 开发环境完整配置及常见问题(自用)
  • java枚举类型的查找
  • USC 安防平台之移动侦测
  • github上文件过大无法推送问题
  • 智能编程助手功能革新与价值重塑之:GitHub Copilot
  • 今日写题work05
  • Autojs: 使用 SQLite
  • Word中打开开发工具【修改日期控件显示格式】
  • C#学习之S参数读取(s2p文件)
  • 如何预防DDOS攻击
  • 多模态本地部署ConVideoX-5B模型文生视频
  • 深入理解 Rust 的迭代器:从基础到高级
  • JZ39 数组中出现次数超过一半的数字 (Boyer-Moore 投票算法)候选法
  • 浮点数的机器码表示
  • linux--关于makefile
  • 白话文实战OpenFeign
  • 基于opencv的 24色卡IQA评测算法源码-可完全替代Imatest
  • SpringBoot 集成 Caffeine 实现本地缓存
  • 从“重规模”向“重回报”转变,公募基金迎系统性改革
  • 宁波市人大常委会审议生育工作报告,委员建议学前教育免费
  • 人民日报评论:莫让“胖东来们”陷入“棒杀”“捧杀”泥潭
  • 五角大楼要裁一批四星上将
  • 印巴军事对峙加剧,小规模冲突收场还是走向大战?
  • 媒体评特朗普对进口电影征100%关税:让好莱坞时代加速谢幕