C语言大一
最好的我们!
记录编程路上学习的点点滴滴
展开
-
蛇形矩阵之填充解法
输出要求:对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入n,代表n行n列的二维数组。原创 2024-03-13 15:30:33 · 387 阅读 · 0 评论 -
指针易错概念整理
3、const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变。const如果放在*右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指针变量指向的值可以通过指针改变。1、指针无论是什么类型,所占内存都是4或8个字节(存的是地址)(X86是32位环境,占四个字节;二维数组的数组名也是数组首元素的地址,首元素的地址就是第一行的地址,第一行的地址就是一维数组的地址,类型是数组指针类型。指针数组是存放指针的数组(数组内的每一个元素是指针)形如int *p[10]原创 2024-03-05 23:37:34 · 709 阅读 · 0 评论 -
qsort库函数及模拟函数实现
(选取一个值为基准数(比如第一位),双指针,规定左指针下标小于右指针,双指针逐渐向中间靠近,左边的指针全是小于基准数的数,右边的值全是大于基准数的数。若不符合则交换左指针和右指针停下来的数。如果双指针相遇,交换基准数与指针终点)(可以是多种类型,包括整数,字符,结构体等等)冒泡排序,选择排序,插入排序,希尔排序。函数指针比较大小的返回值。原创 2024-03-03 20:33:19 · 348 阅读 · 0 评论 -
旋转字符串
(比如旋转前2个字符,就把字符串分割为前两个为一段,剩下的为另一端,分别旋转每串字符,最后再整体旋转。了解了定义后,我们要如何旋转字符串呢?这里我会介绍旋转前k个字符的字符串的方法。即abcd ——>ab cd——>ba dc——>badc——>cdab)写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1。给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDA。2、前移法(len是旋转的次数)原创 2024-02-16 18:15:45 · 609 阅读 · 1 评论 -
逻辑操作符与位操作符的巧用
逻辑操作符。原创 2024-02-08 16:16:56 · 333 阅读 · 0 评论 -
const修饰指针变量
以下这段代码是成功的代码,验证了结论。原创 2024-01-30 22:03:56 · 316 阅读 · 0 评论 -
输出水仙花数
1. **`sxh`函数的返回值问题**:`sxh` 函数的目的是检查一个数是否是水仙花数,但不论是不是水仙花数,它都返回了 `sum`。正确的做法应该是仅在 `sum` 等于原始数值 `i` 时返回 `sum`,否则返回0或者一个特殊值(例如-1)表示不是水仙花数。2. **变量作用域错误**:在 `sxh` 函数中,你在判断 `sum == i` 时,变量 `i` 已经在循环中被修改,变为0。1. 在 `sxh` 函数中,我增加了一个变量 `original` 来保存 `i` 的原始值。原创 2024-01-22 15:09:05 · 729 阅读 · 0 评论