c语言算法
greatriver007
好好学习天天向上
展开
-
C语言环形队列高级方法注意事项 【LEN必须2的n次方】
代码是网上摘取:环形队列常规写法/* 实现的最简单的ringbuff 有更多提升空间,可以留言说明 */#include "stdio.h"#include "stdlib.h" #define LEN 10 /*环形队列结构体*/typedef struct ring_buff{ int array[LEN]; int W; int R;}*ring; /*环形队列初始化*/struct ring_buff * fifo_init(void){ struct ri原创 2022-04-13 17:38:04 · 400 阅读 · 0 评论 -
STM8s 串口接收不定长数据
USART_RTx_TypeDef USART1_RTx;void uart1_initial(void){ UART1_DeInit(); /* 将寄存器的值复位 */ /* * 将UART1配置为: * 波特率 = 9600 * 数据位 = 8 * 1位停止位 * 无校验位 * 使能接收和发送 * 使能接收中断 */ UART1_Init((u32)9600, UART1_...原创 2020-12-10 19:59:27 · 1594 阅读 · 0 评论 -
面试题:有20个人围成一圈,顺序排号。从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子
有20个人围成一圈,顺序排号。从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子,最后一个是编号是多少?// first.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include int _tmain(int argc, _TCHAR* argv[]){ int i,k,m,n,num[50],*p; printf("in原创 2013-03-27 15:41:44 · 8419 阅读 · 0 评论 -
随想录(开源代码的学习方法)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 一、历史 开源代码作为一种特色的产物,随着物联网的进步得到了前所未有的发展。一开始,很多代码其实不是开源工程,后来软件的开发商发现根本没法用这些代码来挣钱,所以索性把这些代码发布到网上,让更多的人来进行维护和开发,比如说IBM的eclipse就是这样转载 2013-03-27 14:59:37 · 626 阅读 · 0 评论 -
二进制,八进制,十进制,十六进制互相转化的C语言源代码
// first.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include#include#includevoid D_B(int);void D_O(int);void D_X(int);void B_D(int);void B_O(int);void B_X(int);void O_B(int);v转载 2013-04-01 14:53:28 · 2019 阅读 · 0 评论 -
struct和typedef struct
struct和typedef struct 分三块来讲述:1 首先: 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu;于是在声明变量的时候就可:Stu stu1;如果没有typedef就必须用struct St转载 2013-03-31 23:52:46 · 614 阅读 · 0 评论 -
2进制转10进制
参考网上的资料 得出以下代码:#include#include#define uchar unsigned charint bit_dec(char *x){ int i,a,l,sum=0; a=1; l=strlen(x); for(i=0;i<l;i++) { if(x[l-i-1]=='1') sum=sum+a; a<<=1;原创 2013-04-01 15:26:54 · 995 阅读 · 0 评论 -
c语言中冒泡排序、插入排序、选择排序算法比较
掌握好常用的排序算法,在实际的项目开发中可以节省很多的时间。每一种排序算法在执行的效率上是存在差别的,这些微小的时间差,也许在平常的联系当中感觉不到,但是涉及到数据量比较大或者是在资源比较紧张的系统中就显得尤其的重要,比如嵌入式系统。下面简要介绍三种常用的排序算法以及他们的执行效率的比较。 冒泡排序: 思路:将相邻的两个数比较,将较小的数调到前头;有n个数就要进行n转载 2013-04-01 10:41:41 · 1347 阅读 · 0 评论 -
编程十进制整数转换为二进制
在32位处理器上,将任一整数转换为二进制形式。 要求实现函数: void DecToBin (unsigned int iDec, char pBin[32]) 输入:iDec 需要转换的十进制整数 输出:pBin 转换为二进制后的字符串,高位在左边,不足32位补0 示例 输入:123 输出:{“00000000000000000000000001111011”}原创 2013-04-01 13:39:17 · 2311 阅读 · 0 评论 -
一个应届计算机毕业生的2012求职之路
1、简介毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。首先说说我拿到的offer情况:微软,3面->终面,搞定百度,3面->终面,口头offer搜狗,2面,悲剧腾讯,1面,悲剧布丁移动,3面,搞定涂鸦游戏,3面,搞定友盟,3面->CEO面,搞定雅虎,4面->终面,搞定微策略,2面,悲剧人民搜索,3面->终面,转载 2013-03-16 23:02:28 · 1188 阅读 · 0 评论 -
嵌入式Linux C笔试题积累
1. 嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。 __interrupt double compute_area (double rad转载 2013-03-16 23:27:15 · 1036 阅读 · 0 评论 -
getchar()详解
函数名: getchar 功 能: 从stdin流中读字符 用 法: int getchar(void); 注解: getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数转载 2013-02-25 12:44:14 · 1303 阅读 · 0 评论 -
调试错误集1
平时有郁闷的时候,一直调试不出来 ,最后发现一个问题,很弱智,但是也很常见,所以特地在这里做一个集合,记住平时的错误。1、定义一个全局变量 u32 SaveSize; 随后使用的时候是这样用的 for(;save_addr { 。。。。 }结果 悲剧了,一直以为之前 已经把Sav原创 2011-12-12 21:00:33 · 661 阅读 · 0 评论 -
如何提高自己的编程水平
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理转载 2011-08-04 15:33:30 · 683 阅读 · 0 评论 -
给C++初学者的50个忠告
1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为转载 2011-08-04 15:31:48 · 567 阅读 · 0 评论 -
用C语言输出自身的程序源码(Quine)
Quine 在计算机中指的是把自身代码输出的程序,非常有趣。其实这种程序没有唯一。其实有很多种。下面就列出来几种。 1、main(){char *c="main(){char *c=%c%s%c;printf(c,34,c,34);}";printf(c,34,c,3转载 2011-08-04 15:19:23 · 5161 阅读 · 0 评论