- 博客(21)
- 收藏
- 关注
原创 深入理解指针(详解 图文)
在学习指针之前,我们先浅了解一下指针是个什么东西,指针其实是一种数据类型,用于存储变量的内存地址。简单来说,可以将指针想象成一个指向内存中某个存储单元的箭头,通过这个箭头可以找到存储单元中实际存储的值。
2024-05-22 19:15:17
939
3
原创 assert断言的使用
然后在重新编译,编译器就会禁用文件中所有的assert()语句,如果程序又出现问题,可以移除这条#define NDBUG指令(或者把它注释掉),再次编译,只要就重新启用了assert()语句了。assert是一个很好用的一个小指令,assert.h 头文件定义了宏 assert() ,用于在运行时确保程序符合指定条件,如果不符合,就报错终止运行。相对比之下 if 语句就没有这么多的功能了,而且 assert( ) 的使用对程序员是非常友好的,使用 assert( ) 有几个好处:它不仅能。
2024-05-22 10:59:20
383
1
原创 实现通讯录(顺序表版本)
(1)⾄少能够存储100个⼈的通讯信息(2)能够保存⽤⼾信息:名字、性别、年龄、电话、地址等(3)增加联系⼈信息(4)删除指定联系⼈(5)查找制定联系⼈(6)修改指定联系⼈(7)显⽰联系⼈信息。
2024-04-07 18:38:17
448
2
原创 顺序表详解及动态顺序表的实现
线性表(linearlist)是n个具有相同特性的数据元素的有限序列。、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。案例:蔬菜分为绿叶类、⽠类、菌菇类。线性表指的是具有部分相同特性的⼀类数据结构的集合 如何理解逻辑结构和物理结构?
2024-04-06 18:41:00
400
4
原创 模拟实现库函数strlen
#include#includeint my_strlen(const char* str){ int count = 0; assert(str); while (*str) { count++; str++; } return count;}int main(){ char* str = "abcde"; int len = my_strlen(str);
2024-03-17 10:50:13
377
1
原创 字符串左旋
实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB运行代码:#include#includevoid leftround(char* str, int k){ int len = strlen(str); int time = k % len; for (int i = 0; i < time; i++) { char tmp = str[0];
2024-03-17 10:21:27
562
1
原创 打印整数二进制的奇数位和偶数位
获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列运行代码:#include<stdio.h>void func(int n){ //偶数位 for (int i = 31; i >= 1; i = i - 2) { printf("%d ",(n >> i) & 1); } printf("\n"); //奇数位 for (int i = 30; i >= 0; i = i - 2) { p
2024-02-24 11:13:45
459
1
原创 在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字
运行代码: //0^1^2^3^4^5^1^2^3^4。
2024-02-24 10:51:37
485
原创 交换两个变量(不创建临时变量)
不允许创建临时变量,交换两个整数的内容运行代码:#include<stdio.h>int main(){ int a = 1; int b = 2; printf("交换前:a=%d , b=%d\n", a, b); a = a ^ b; b = a ^ b; a = a ^ b; printf("交换后:a=%d , b=%d\n", a, b); return 0;}
2024-02-20 11:31:40
522
原创 递归实现n的k次方(k>0)
编写一个函数实现n的k次方,使用递归实现。运行代码: #include<stdio.h>int Pow(int n, int k){ if (k == 1) { return n; } else { return n * Pow(n, k - 1); }}int main(){ int sum = 0; sum = Pow(2, 3); printf("%d\n", sum); return
2024-02-02 10:30:02
511
原创 计算斐波那契数(两种方法)
我们看到的许多问题都是以递归的形式进行解释,是因为他比非递归的形式更加清晰,但是这些问题的迭代实现往往比递归实现效率更高。当一个问题非常复杂,难以使用迭代的方式实现时,递归实现的简洁性便可以补偿它所带来的运行时开销。
2024-02-01 19:29:50
677
1
原创 计算求和.
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222 运行代码:#include<stdio.h>int main(){ int n = 5; int a = 0; int tmp = 0; int sum = 0; int i = 0; printf("请输入一个数字:"); scanf("%d", &a); for (i = 0; i < n; i++) {
2024-02-01 10:46:37
486
1
原创 求出0~100000之间的所有“水仙花数”并输出。
int main()int i = 0;for (i = 0;i++)//计算几位数while (tmp!= 0)count++;//求数字的每一位tmp = i;while (tmp!= 0)return 0;
2024-01-31 13:25:06
497
原创 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(C编程实现)
运行代码:#include<stdio.h>int main(){int money = 0;//有多少钱scanf("%d", &money);int total = money;//初始有多少钱就能喝多少瓶int empty = money;//一开始喝完后所拥有的空瓶while (empty > 1){total = total + empty / 2;empty = empty / 2 + empty % 2;}printf("总共喝了%d瓶可乐\n", total);return 0;}
2024-01-29 10:54:14
459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅