
C
算法真不会
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数组相关面试题小结
思路:双指针遍历,idx和i,i不等于val,右移下一位,因为题目要求不能申请内存,所以不可以像注释那么写 int removeElement(int* nums, int numsSize, int val) { //int* newA=(int*)malloc(numsSize*sizeof(int)); int idx=0; for(i=0;i<numsSize;++i) { if(nums[i]!=val) nums[idx++]=nums[i]; } //memcpy(nums,newA,.原创 2020-10-22 19:38:23 · 335 阅读 · 0 评论 -
C语言——求两个数二进制中不同位的个数
编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7 /* 思路: 1. 先将 m 和 n 进行按位异或,此时m和n相同的二进制比特位清零,不同的二进制比特位为1 2. 统计异或完成后结果的二进制比特位中有多少个1即可 */ #include <stdio.h> int calc_diff_bit(int m, int n) { int tmp = m^n; int count = 0; while(tmp) {原创 2020-09-22 21:01:18 · 263 阅读 · 0 评论 -
C语言——猜名次
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 #include<stdio.h> int main() { int A = 0; int B = 0; int C = 0;...原创 2019-11-18 21:51:52 · 1355 阅读 · 0 评论 -
C语言——实现对一个整型数组的冒泡排序
/* 思路: 遍历数组,对数组中相邻的两个元素进行比较,如果需要升序,前一个数据大于后一个数据时,交换两个位置上的数据,直到所有的数据比较完,此时,最大的数据已经放在数组的末尾。 除最大数据已经排好序外,其余数据还是无需,对剩余数据采用与上述类似的方式进行处理即可 */ void BubbleSort(int array[], int size) { // 外层循环控制冒泡排序的趟数 // size-1表示:最后一趟区间中只剩余1个元素,该趟冒泡可以省略 for(int i =原创 2020-09-22 20:54:18 · 1057 阅读 · 0 评论 -
C语言——统计二进制中1的个数
统计二进制中1的个数 写一个函数返回参数二进制中 1 的个数。 比如: 15 0000 1111 4 个 1 /* 方法一: 思路: 循环进行以下操作,直到n被缩减为0: 1. 用该数据模2,检测其是否能够被2整除 2. 可以:则该数据对应二进制比特位的最低位一定是0,否则是1,如果是1给计数加1 3. 如果n不等于0时,继续1 */ int count_one_bit(int n) { int count = 0; while(n) { if(n%2==1) cou原创 2020-09-17 23:17:53 · 799 阅读 · 0 评论 -
关于scanf安全问题解决办法(报错error C4996)
方法一: #define _CRT_SECURE_NO_WARNINGS 宏定义文件放到第一行 方法二: #pragma warning (disable:4996)原创 2020-05-08 15:40:33 · 717 阅读 · 0 评论 -
【C语言】实现三子棋
C语言实现三子棋主要用到二维数组的相关知识,所以我们使用多文件编程来实现这个程序,需要建立一个头文件,两个源文件来实现: 1.game.h–>函数的申明与宏定义 2.game.c–>游戏各个功能的实现 3.main.c–>函数的定义 思路: 1.将各个函数的执行放在游戏执行函数game函数中,将game函数放在循环中以便我们游戏结束后还可以玩。 2.选择结构判断继续玩玩游戏还是退...原创 2019-11-02 11:42:22 · 194 阅读 · 0 评论