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

#include<stdio.h>
#include<windows.h>
#include<assert.h>
/*用0依次和数组中的每个元素进行异或,出现两次的数字通过异或会相互抵消,最后剩下的就是只出现一次的数字。剩下的两个数不相等,异或的话至少有一位是为1的,二进制对应位也不相同。
1.得到0与数组中各元素依次异或的结果;
2.找到依次异或后的结果中为1的位置并标记,根据标记位是否为1进行分组;
2.将原数组分为两组,每组都含有一个只出现一次的数字,然后进行数组元素依次异或, 剩下的即为出现一次的数字。*/
void find_single_nums(int a[], int size)
{assert(a);int num1 = 0;int num2 = 0;int i = 0;int num = 0;int flag = 0;for (i = 0;i < size;i++){num ^= a[i];}for (i = 0;i < size;i++){if (((num >> i) & 1) != 1){flag++;}else {break;}}for (i = 0; i < size; i++){if (((a[i] >> flag) & 1) != 1){num1 ^= a[i];}else{num2=num^(num1);}}printf("%d %d", num1, num2);
}
int main()
{int a[] = { 1,2,3,4,5,1,2,3 };int size = sizeof(a) / sizeof(a[0]);find_single_nums(a, size);system("pause");return 0;
}

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。

#include<stdio.h>
#include<windows.h>
#include<assert.h>//喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。 int count_juice(int n)
{int  bottle= n;int sum = n;                      while (bottle>= 2){sum +=bottle/2 ;bottle = bottle / 2 + bottle % 2;}printf("%d", sum);return 0;}
int main()
{count_juice(20);system("pause");return 0;
}

模拟strcpy

#include<stdio.h>
#include<windows.h>
#include<assert.h>
char* my_strcpy(const char* p, char* p1)
{char* p2 = p1;assert(p);assert(p1);while (*p != '\0'){*p1++ = *p++;}*p1 = *p;return p2;
}int main()
{const char* p = "hello123";char p1[64] = { 0 };my_strcpy(p, p1);system("pause");return 0;
}

模拟strcat

#include<stdio.h>
#include<windows.h>
#include<assert.h>
char* my_strcat( char* p, char* p1)
{assert(p);assert(p1);char* p2 = p;while (*p != '\0'){p++;}while (*p1 != '\0'){*p++ = *p1++;}*p = *p1;return p2;
}int main()
{char p[64] = "hello";char* p1 = "world";my_strcat(p, p1);system("pause");return 0;
}

2018-2-3 test17相关推荐

  1. 回顾 2018,展望 2019

    1. 概述 今天是 2019 年第一天,趁着元旦 3 天假期时间,对即将过去的这一年做个总结回顾,看下这一年得到了什么,失去了什么,并对来年做个新的规划,看下需要采取哪些措施提升自己. 2. 2018 ...

  2. 2017 年总结及 2018 年计划

    概述 本文写于 2018.01.01,计划从 2017 开始有目的的进行复盘行动,所以将该文搬运到此处. ----------------------------分界线---------------- ...

  3. 2018 Google kickstart Problem A. Planet Distance

    题目描述 Small dataset 3 ≤ N ≤ 30. Large dataset 3 ≤ N ≤ 1000.input 2 5 1 2 2 3 3 4 2 4 5 3 3 1 2 3 2 1 ...

  4. 2018年终总结:自由而独立

    时间真快,一年,走完了大三的后半学期和大四的前半学期. 这一年经历了很多事情,第一次这么久没有回家. 收获: 计算机进度: 一年的时间从VB版机房系统到现在的JS 其实,并没有很快很扎实连贯的走进度, ...

  5. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018...

    视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...

  6. 狗年拜年php源码,2018狗年拜年词大全!再也不担心拜年没祝词啦~祝您新年快乐!...

    原标题:2018狗年拜年词大全!再也不担心拜年没祝词啦~祝您新年快乐! 2018 狗 年 大 吉 HAPPY NEW YEAR 为了您在春节期间能够在第一时间 为您的亲朋好友送上祝福~ 小编已经贴心的 ...

  7. 2018usnews计算机专业排名,2018年研究生计算机专业前50排名(美USNews版)

    2018年美国大学--研究生--计算机科学专业排名: (USNews 美新闻周刊版) 排名 学校英文名  学校汉语名  州 / 城市 1 Carnegie Mellon University 卡耐基梅 ...

  8. 2018会考计算机成绩查询入口,2018年山东会考成绩查询时间及入口

    2018年山东会考成绩查询时间及入口2019-07-10 20:39:51文/李男 2018年山东会考成绩查询时间为2018年2月2日,并且山东高中会考成绩的查询入口也已经开通了,下面小编整理了会考成 ...

  9. 康复治疗学可以考计算机吗,【大揭秘】2018“人机对话”康复医学治疗技术专业技术资格考试...

    原标题:[大揭秘]2018"人机对话"康复医学治疗技术专业技术资格考试 昨天,关于"2018年康复医学治疗技术专业技术资格考试采用人机对话考试方式"的通知一经发 ...

  10. pch在c语言中占内存字节数,2018年9月计算机二级C语言考试章节习题及答案(6).docx...

    2018年9月计算机二级C语言考试章节习题及答案(6) 第2章 C程序设计的初步知识 2.3 整型数据 1[单选题] 用8位无符号二进制数能表示的最大十进制数为( ) A.127 B.128 C.25 ...

最新文章

  1. CBNetV2:北大提出的复合主干网络,COCO成绩60.1%
  2. mysql行级锁 表级锁 页级锁详细介绍_MySQL行级锁、表级锁、页级锁详细介绍
  3. urllib库中cookie的使用
  4. 【手势交互】9. PS Move
  5. [2020.10.30NOIP模拟赛]字符串水题【SA,树状数组】
  6. python 数据分析库_五个 Python 常用数据分析库
  7. linux里的网卡自动连接,【Raspberry Pi】USB无线网卡自动连接
  8. 中国光伏产业将面临何种形势?
  9. 最短路中部分点只能从中任意选取K个问题
  10. 如何做相册_我是如何对2000张照片进行批量套版的
  11. 用友NC删除会计科目的前后台操作
  12. 详细介绍MPLS路由协议的相关概念知识
  13. ASP .Net C# ---Excel导入导出方法
  14. postman 使用
  15. 电子测量技术——基于Python的测量数据误差处理程序
  16. 【搜狗输入法安装包文件有异常,错误码:2,现在终止安装】解决办法
  17. MySQL 日期时间加减
  18. 去国外超市如何用英文表达你想要的东西?
  19. ThinkPad笔记本无法调节亮度
  20. DNS是什么?怎样设置DNS?

热门文章

  1. 达梦查询计算百分比数据为零
  2. android 解析midi文件,基于安卓的乐音识别及MIDI文件输出的研究和实现
  3. c++中为什么要用引用?
  4. unity3d 模拟电脑实现_Unity3D实现3D立体游戏原理及过程
  5. android开发课程表app数据库,基于Android studio 的课程表增删查改功能(基于sqlite)
  6. 淘宝众筹数据爬取(1)
  7. C Primer Plus第四章
  8. 计算机知识讲稿,讲稿2(第1章 计算机基础知识)课件
  9. android 声音资源,Android系统声音文件目录
  10. 程序员生存定律--表达背后的力量(2)【转】