自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 Camera Tuning - MTK pipeline

MTK ISP Pipline

2023-04-19 17:50:09 1801

原创 C语言指针解析

指针与指针变量 我们通常把指针变量叫做指针,准确的说,这样的理解是错误的。首先我想在这里明确一下指针与指针变量是两个概念。指针: 一个变量的地址指出了变量的存储单元在内存中的具体位置,能对变量进行存取操作。这个变量的地址就是变量的指针。指针变量: 指针是一种具有特殊意义的整型数,指针不能存放在一般的整型变量中,必须存放在专门指针的变量中,这类变量就是指针变量。 int...

2018-12-04 16:37:37 252 1

原创 单链表的实现(增、删、查、改功能)

头文件函数#ifndef __SListNode_H__#define __SListNode_H__typedef int DataType;typedef struct SListNode{ struct SListNode* _next; DataType _data;}SListNode;SListNode* BuySListNode(DataType x);void

2017-12-14 15:48:28 520

原创 浅谈时间复杂度及空间复杂度的计算。

算法的时间复杂度和空间复杂度统称为算法的复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。 为什么要有时间复杂度和空间复杂度? 试想如果我们要知道一个程序算法的优劣需要知道的事

2017-12-10 17:59:26 401

原创 c语言实现代码C风格到C++风格的注释转换

#define _CRT_SECURE_NO_WARNINGS 0#include<stdlib.h>#include<stdio.h>#include"test.h"int status = NULLSTATUS;void do_null_status(FILE *ifp, FILE *ofp){ int ch = fgetc(ifp); switch (ch)

2017-12-10 16:56:30 531

原创 实现斐波那契数列的递归、非递归及尾递归。

非递归int Find(k){ int a = 0; int b = 1; int c = 0; int i = 0; if (k < 2) { return k; } for (i = 2; i <= k; i++) { c = a + b; a = b; b

2017-12-06 16:06:06 698

原创 实现二分查找算法的递归及非递归。

非递归:int Find(int arr[],int size,int k){ int left = 0; int right = size - 1; while (left <= right) { int mid = (left>>1)+(right>>1); if (k == arr[mid]) {

2017-12-06 16:00:06 364

原创 写一个宏可以将一个数字的奇数位和偶数位交换。

#include<stdio.h>#include<windows.h>#define EXCHANGE_JO(x) ((((x)&0xAAAAAAAA)>>1)|(((x)&0x55555555)<<1))//(x)&0xAAAAAAAA)>>1 奇数位清零右移一位,将偶数位移至奇数位//(x)&0x55555555)<<1 偶数位清零左移一位,将奇数位移至偶数位//所得到的两个数字按位

2017-12-05 15:49:53 173

原创 模拟实现strcpy、strcat、strstr、strchr、strcmp、memcpy、memmove

#include<stdio.h>#include<windows.h>#include<assert.h>#include <memory.h>char *my_strcpy(char *dst, const char *src){ assert(dst); assert(src); char *ret = dst; while (*dst++ = *sr

2017-12-04 12:43:26 186

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

#include<stdio.h>#include<Windows.h>int main(){ int arr[] = {1, 2, 3, 4, 5, 16, 78, 1, 2, 3, 4, 5}; int i = 0; int j = 0; int num = 0; int a = 0; int b = 0; int size = si

2017-11-22 17:13:27 258

原创 用C语言编写程序在屏幕上打印杨辉三角。(非递归)

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<windows.h>#define MAX 100int main(){ int arr[MAX][MAX] = { 0 }; int a = 0; int i = 0; int j = 0; printf("请输入您想打印的行数

2017-11-21 16:13:37 1822

原创 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯 的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假

#include<stdio.h>#include<windows.h>int main(){ int killer = 0; for (killer = 'a'; killer <= 'd'; killer++) { if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer !=

2017-11-21 15:37:33 464

原创 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一

#include<stdio.h>#include<windows.h>int main(){ int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; for (a = 1; a < 6; a++) { for (b = 1; b < 6; b++) {

2017-11-20 21:24:39 602

原创 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

#include<stdio.h>#include<windows.h>int compare_bit(int x, int y){ int i = 0; int count = 0; x ^= y; for (i = 0; i < 32; i++) { if ((x >> i) & 1 == 1) {

2017-11-20 20:14:18 266

原创 输出一个整数的每一位。

#include<stdio.h>#include<windows.h>void print(int n){ if (n<10) { printf("%d ", n); } if (n > 9) { print(n/10); printf("%d ", n % 10); } return;

2017-11-20 19:50:23 276

原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

#include<stdio.h>#include<windows.h>void print(int n){ int i = 0; printf("奇数位二进制序列为:"); for (i = 32; i >0; i--) { if (i % 2 == 0) { printf("%d", (n >> i)

2017-11-20 19:40:15 149

原创 写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1

#include<stdio.h>#include<windows.h>int count_one_bits(unsigned int value){ int count = 0; int i = 0; for (i = 0; i<31; i++) { if ((value >> i) & 1 == 1) {

2017-11-20 19:22:47 234

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

#include<stdio.h>#include<Windows.h>int Heqishui(int n){ static int rep=n; while (n > 1) { rep =rep + n / 2; n = n / 2 + n % 2; } return rep;}int main(){

2017-11-20 17:35:45 1197

原创 模拟实现stract函数

#include<stdio.h>#include<Windows.h>#include<assert.h>char *my_strcat(char *dst, const char *src){ assert(*dst !=NULL); assert(*src !=NULL); char *ret = dst; while (*dst != '\0')

2017-11-16 17:41:13 746

原创 模拟实现strcpy函数

#include<stdio.h>#include<Windows.h>#include<assert.h>char *my_strcpy(char *dst, const char *src){ assert(*dst !=NULL); assert(*src !=NULL); char *ret = dst; while (*dst++ = *src++)

2017-11-16 17:22:36 149

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

#include<stdio.h>#include<Windows.h>int main(){ int arr[] = { 1,2,3,4,1,2,3,4, 5, 0 }; int i = 0; int j = 0; int k = sizeof(arr) / sizeof(arr[0]); for (i = 0; i < k; i++) {

2017-11-15 18:13:32 173

原创 递归和非递归分别实现求n的阶乘

递归:#include<stdio.h>#include<windows.h>int jiecheng(int n){ if (n == 1) { return 1; } else if (n > 1) { n--; return (n+1)*jiecheng(n); }}int main(){

2017-11-15 15:50:57 1089

原创 递归和非递归分别实现strlen

递归:#include<stdio.h>#include<windows.h>int my_strlen(char *string){ int count = 0; if (*string != '\0') { string++; count = 1 + my_strlen(string); } return count;

2017-11-15 14:48:31 677

原创 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19

#include<stdio.h>#include<Windows.h>int DigitSum(int n){ int a = 0; if (n <= 9) { return n; } while (n > 9) { a=n%10; n /= 10; return a + Digit

2017-11-13 15:42:23 203

原创 编写一个函数实现n^k,使用递归实现

#include<stdio.h>#include<Windows.h>int chengfang(int n,int k){ if (k == 1) { return n; } else if(k > 1) { k--; return n*chengfang(n,k); }}int main()

2017-11-13 14:46:34 161

原创 c语言实现求第n个斐波那契数。(递归和非递归)

非递归方法:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<Windows.h>#define MAX 100int find(int n){ int a = 1; int b = 1; int c = 0; int i = 0; if (n <= 2) {

2017-11-11 14:09:18 347

原创 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1 = abcd和s2 = ACBD,返回0. AABCD左旋一个字

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<windows.h>#include<string.h>#include<assert.h>#define MAX 100int Panding(const char *pdest, const char *psrc, int k){ assert(*pdest

2017-11-08 16:45:29 240

原创 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB

#define _CRT_SECURE_NO_WARNINGS 1#define MAX 100#include<stdio.h>#include<windows.h>#include<string.h>void Sin(char *p,const int a,const int b){ char arr1[MAX] = "a"; char arr2[MAX] = "a"

2017-11-05 17:54:59 199

原创 求两个数的最大公约数。

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<windows.h>int main(){ int a = 0, b = 0, i = 0; printf("请输入a的值 a="); scanf("%d", &a); printf("请输入b的值 b="); scanf("%d",

2017-11-01 13:20:51 142

原创 用C语言实现三子棋小游戏

#ifndef __GAME_H__#define __GAME_H__#define COL 3#define ROW 3#include<time.h>#include<stdlib.h>#include<stdio.h>#include<windows.h>#include<stdio.h>#include<windows.h>void init_board(char arr

2017-10-26 15:04:24 413

原创 写一个函数返回参数二进制中 1 的个数

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint  count_one_bits(unsigned int value){int i = 0;int count = 0;for (i = 0; i {if (((value >> i) & 1) == 1)//按位与运算:& 运算规则:0 & 0 = 0;

2017-10-19 14:44:25 121

原创 将数组A中的内容和数组B中的内容进行交换。(数组一样大)

#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#define MAX 100int main(){char arr1[MAX] = { 0 };char arr2[MAX] = { 0 };int i = 0;printf("请输入数组A的元素:");gets(arr1);p

2017-10-18 12:07:33 225

原创 C语言运算符与表达式

运算符是一种向变异程序说明一个特定的数学或逻辑运算的符号。主要有三大类:算术运算符、关系运算与逻辑运算符、按位运算符。除此之外,还有一些用于完成特殊任务的运算,如赋值运算符、条件运算符、逗号运算符等。C语言的运算符归纳如下: (1)算术运算符“+”、“-”、“ * ”、“ / ”、“ % ”。 (2)关系运算符“>”、“<”、“==”、“>=“、”<=”、“!=”。 (3)逻辑运算

2017-10-17 17:14:05 864

原创 实现一个函数,判断一个数是不是素数。

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint prime(int X){int i = 0;for (i = 1; i {if (X%i != 0)return 1;elsereturn 0;}}int main(){int a = 0;printf("请输入数字:");

2017-10-17 11:37:53 359

原创 实现一个函数判断year是不是润年。

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint leap(int X){if (((X % 4 == 0) && (X % 100 != 0)) || (X % 400 == 0))return 0;elsereturn 1;}int main(){int a = 0;

2017-10-16 16:47:50 535

原创 使用函数实现两个数的交换。

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint Exchange(int *pa, int *pb){int c = 0;c = *pa;*pa = *pb;*pb = c;return *pa, *pb;}int main(){int a = 0;int b = 0;

2017-10-16 16:27:55 474

原创 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表。

#define _CRT_SECURE_NO_WARNINGS 1#include#include#includeint Mul(int X,int Y){return X*Y;}int main(){int a = 0;int i = 0;int j = 0;printf("请输入行、列数(行数=列数):");

2017-10-16 16:10:49 285

原创 编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。

#define _CRT_SECURE_NO_WARNINGS 1#include#include#includeint main(){char ch = 'a';printf("请输入:");flag: scanf("%s", &ch);if ((ch >= 97) && (ch {ch = ch - 32;printf("%c\n

2017-10-16 14:07:23 254

原创 编写代码模拟三次密码输入的场景。最多能输入三次密码,密码正确,提示“登录成功”, 密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。

#define _CRT_SECURE_NO_WARNINGS 1#include#include#includeint main(){int i = 0;char arr1[7] = "123456";char arr2[10] = { 0 };for (i = 0; i {printf("请输入密码:");gets(arr2)

2017-10-16 12:54:42 3926

原创 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回 - 1.(折半查找)

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint Find(int X, int Y, int key,int *p){int mid = (X + Y) / 2;while ((X {mid = (X + Y) / 2;{if (*(p + mid)> key)Y = mid - 1;

2017-10-15 19:08:12 1671

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除