![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
wumi13059
这个作者很懒,什么都没留下…
展开
-
C语言创建一个链表并删除指定数据的节点
创建一个链表并删除指定数据的节点,通过 scanf 获取用户输入的数据,调用 deleteNode 函数删除对应节点,并输出删除后的链表。原创 2023-03-26 19:12:53 · 1180 阅读 · 0 评论 -
strcmp和memcmp的使用比较
当两个字符串不相等时,使用memcmp函数的时间复杂度是O(n),而使用strcmp函数的时间复杂度是O(min(m,n)),其中m和n分别是两个字符串的长度。因此,随着输入规模n的增大,O(n)算法的执行时间会增加,而O(1)算法的执行时间不会增加。从实际使用角度,在字符串的比较上来说,如果在不知道传入的字符串大小的情况下,先使用strlen获取字符串大小,再使用memcmp函数进行比较这种方式在效率上是比直接使用strcmp函数效率略低的,因为需要先遍历一遍字符串来获取其长度。原创 2023-03-26 18:22:54 · 1854 阅读 · 0 评论 -
[驱动]BL0937
// 注:使用华大半导体HC32L130系列单片机。其中定时部分省略bl0937.h#ifndef _BL_0937_HPP_#define _BL_0937_HPP_// 注:BL0937可测量电压电流 或 功率struct _bl0937_{ ////////////////////////////////////////////////////////////////////////// // 以下参数需要在初始化前做好配置 en_gpio_port_t _port; //原创 2021-07-23 20:04:42 · 3745 阅读 · 3 评论 -
递归——二进制与十进制转换
十进制转二进制void to_binary(int n){ int r; r = n%2; // 取末位,必为0或1 // if (n >= 2) { // n < 2为终止条件 to_binary(n/2); } putchar('0'+r);}原创 2021-06-20 20:49:41 · 1027 阅读 · 1 评论 -
迭代法
1、求fn = 3 * fn1 - 2 * fn0中n等于20时候的值,fn0=1,fn1=2 int fn, fn0 = 1, fn1 = 2; int i; for (i = 2; i <= 20; i++) { fn = 3 * fn1 - 2 * fn0; fn0 = fn1; fn1 = fn; } printf("%d", fn);原创 2020-09-29 15:48:35 · 193 阅读 · 0 评论 -
排序相关程序
1、将a[]中的数据按大小顺序排到b[] int a[5], b[5], i ,j ; int maxn, point; for (i = 0; i < 5; i++) { scanf_s("%d", &a[i]); } for (i = 0; i < 5; i++) { maxn = 0; for (j = 0; j < 5; j++) { if (a[j] >原创 2020-09-29 13:29:21 · 77 阅读 · 0 评论 -
求素数
素数要求n除以2到平方根n所有数后仍为其本身的数。//判断素数——穷举法 int i = 2, m=1, q; scanf_s("%d", &q); for (i; i <= sqrt(q); ++i) { if (q%i == 0) { m = 0; break; } } printf("%s", m == 1 ? "yes" : "no"); getchar(); getchar(); return 0;//判断素数——穷举法 int原创 2020-09-28 20:06:46 · 293 阅读 · 0 评论 -
C语言中用泰勒法计算sinx的值
已知sinx的泰勒公式展开式sinx=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!-…(无穷级数形式),将其转化未带有拉格朗日型余项的n阶麦克劳林公式:由此可得#include <stdio.h>#include<math.h>double fact(int n){ if (n == 0) return 1; return fact(n - 1)*n;//求1-(2*n-1)的阶层}double fact_2(int n){ lon原创 2020-09-28 15:34:31 · 14365 阅读 · 1 评论 -
C语言中关于while(scanf(“%d%d”)!=EOF)引发的思考
while(scanf(“%d%d”)!=EOF)关于scanf的几个要点:1、scanf的引号中是否需要加入非输入控制符int scanf(const char *format, ...);也就是说scanf有两种用法 一种是scanf("输入控制符", 输入参数); 一种是scanf("输入控制符非输入控制符", 输入参数);。在printf中非输出控制符是原样输出的,所以在scanf中的非输入控制符也需要原样输入。 “输入控制符”和“输出控制符”是一模一样的。例如:...原创 2020-09-28 12:09:46 · 1911 阅读 · 0 评论