- 博客(134)
- 收藏
- 关注
原创 C语言里面:memcpy和`memccpy的区别
memcpy`和`memccpy`是C语言中用于内存操作的函数,它们的区别如下: 1. 功能不同: - `memcpy`函数用于将一个内存块的内容复制到另一个内存块中,可以实现内存的拷贝操作。- `memccpy`函数的原型为`void *memccpy(void *dest, const void *src, int c, size_t n)`,其中`dest`是目标内存块的指针,`src`是源内存块的指针,`c`是终止字符,`n`是要复制的字节数。
2023-08-10 22:05:55
2192
原创 C语言:最后一个单词的长度
这个解决方案中,我们首先计算字符串的长度,并从字符串末尾开始向前遍历,直到找到第一个非空格字符。最后,我们返回最后一个单词的长度。示例 2:输入:s = " fly me to the moon ",输出:4,解释:最后一个单词是“moon”,长度为4。示例 3:输入:s = "luffy is still joyboy",输出:6,解释:最后一个单词是长度为6的“joyboy”。示例 1:输入:s = "Hello World",输出:5,解释:最后一个单词是“World”,长度为5。
2023-08-10 22:05:31
730
原创 C语言:字符串转换整数 (atoi)
具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1。读入字符串并丢弃无用的前导空格,检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。示例 1:输入:s = "42",输出:42,解释:加粗的字符串为已经读入的字符,插入符号是当前读取的字符。由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。
2023-08-09 08:54:13
471
原创 C语言:回文数,力扣第九题
5. 最后,判断 `x` 是否等于 `reverse` 或者 `x` 是否等于 `reverse` 去除末位后的数字(即当输入的整数位数为奇数时,中间数字不需要考虑是否对称)。- 每次循环将 `x` 的末位数字取出并添加到 `reverse` 的末尾,即 `reverse = reverse * 10 + x % 10`。1. 如果输入的整数 `x` 是负数或者末位数字为0的非零数,则它不是回文数,直接返回 `false`。- 同时将 `x` 的末位数字去除,即 `x /= 10`。
2023-08-09 08:53:08
101
原创 C语言:数字反转
在这段代码中,我们使用了一个`result`变量来保存反转后的结果。我们通过循环取`x`的最后一位数字,将其添加到`result`的末尾,并将`x`除以10,以便继续处理下一位数字。在每次循环中,我们还要检查是否会导致溢出。需要注意的是,由于题目中限制了不能存储64位整数,因此我们没有使用64位整数来保存结果。而是通过判断乘以10是否会溢出的方式来处理溢出情况。最后,在主函数`main()`中,我们定义了一个整数`x`,并调用`reverse()`函数进行反转,然后打印输出结果。
2023-08-09 08:51:53
5001
原创 C语言:使用最小花费爬楼梯,力扣746题
否则,我们通过递归调用`minCostClimbingStairs(cost, n-1)`和`minCostClimbingStairs(cost, n-2)`来计算从当前台阶跳上顶部的最小花费。示例 2:输入:cost = [1,100,1,1,1,100,1,1,100,1] 输出:6。- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。- 支付 1 ,向上爬一个台阶,到达楼梯顶部。
2023-08-09 08:50:05
360
原创 C语言:爬楼梯,力扣第70题
1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶,提示:1 <= n <= 4 */需要 n 阶你才能到达楼顶。示例 1:输入:n = 2,输出:2,解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶,2. 2 阶。printf("到达楼顶的方法总数为:%d\n", result);printf("到达楼顶的方法总数为:%d\n", result);示例 2:输入:n = 3,输出:3,解释:有三种方法可以爬到楼顶。printf("请输入楼梯的阶数:");
2023-08-09 08:48:40
148
原创 C语言:2的幂,给你一个整数 n,请你判断该整数是否是 2 的幂次方,力扣原题
0){ //如果n不是偶数,说明它不是2的幂次方,返回0。if(result==1){ //调用Power函数判断是否是2的幂次方。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。if(n==1){ //首先,当n等于1时,直接返回1。示例 2:输入:n = 16 输出:true 解释:24 = 16。输入:n = 1,输出:true 解释:20 = 1。示例 4:输入:n = 4 输出:true。
2023-08-09 08:47:25
1033
原创 0802.判断包含0-10并找出最大小数字及剩余
如果遇到数字字符,则将其拼接成一个完整的数字,并判断该数字是否在0到10之间。最后,我们输出最小值、最大值和剩余数字个数。- 代码中使用了`limits.h`头文件,其中包含了`INT_MAX`和`INT_MIN`常量,用于表示`int`类型的最大值和最小值。- 代码中没有处理非法输入的情况,如果输入字符串中包含非法字符,可能导致错误。- 以上代码是针对给定的输入字符串格式进行处理的,如果输入字符串格式发生变化,可能需要相应调整。printf("请输入一串字符,只包含\"0-9\"和\",\":");
2023-08-09 08:45:58
47
原创 求一组最少身高差
在上述代码中,我们使用一个`for`循环获取用户输入的5个身高,并进行有效性验证,确保身高在170到190之间。对于每一对身高,我们计算身高差,并与当前的最小差值进行比较。如果找到了相同的差值,则比较两对身高的平均值,选择平均值较大的那一对身高。printf("身高差最小的两个身高是:%d, %d\n", heights[index1], heights[index2]);- 代码中使用了`limits.h`头文件,其中包含了`INT_MAX`常量,用于表示`int`类型的最大值。
2023-08-09 08:43:42
144
原创 C语言:两两数找不同,数组中数字两两相同,有两个不同,找出这两个
这段代码与之前的解决方案相同,只是将函数`findTwoDifferentNumbers`的代码直接放在了`main()`函数中。在主函数中,我们首先进行异或运算,找到两个不同的数字。然后,我们找到`xorResult`中二进制表示中第一个不同的位,并将数组中的数字分为两组。最后,我们对这两组数字进行异或运算,得到两个不同的数字,并打印输出。如果数组中包含其他数字或没有不同的数字,可能导致错误。printf("两个不同的数字是:%d, %d\n", num1, num2);
2023-08-09 08:42:39
561
原创 C语言:最优装载,快递装车最多装载量
输入描述:第一行输入每个快递的重量,用英文逗号分隔,如: 5,10,2,11 第二行输入货车的载重量,如: 20。示例1输入输出示例仅供调试,后台判题数据一般不包含示例,输入5,10,2,11, 20 输出 3 ,一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递,注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。说明:货车的载重量为20,最多只能放三个快递5、10、2,因此输出3。
2023-08-09 08:39:22
218
原创 斐波那契数
也就是:F(0) = 0,F(1) = 1。示例 2:输入:n = 3,输出:2,解释:F(3) = F(2) + F(1) = 1 + 1 = 2。示例 3:输入:n = 4,输出:3,解释:F(4) = F(3) + F(2) = 2 + 1 = 3。F(n) = F(n - 1) + F(n - 2),其中 n > 1。给定 n ,请计算 F(n)。示例 1:输入:n = 2,输出:1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。
2023-08-08 08:38:17
56
原创 矩阵中的幸运数字
示例 2:输入:matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]],输出:[12]示例 1:输入:matrix = [[3,7,8],[9,11,13],[15,16,17]],输出:[15]给你一个 m * n 的矩阵,矩阵中的数字 各不相同。解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。解释:12 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。解释:7是唯一的幸运数字,因为它是行中的最小值,列中的最大值。
2023-08-08 08:38:06
132
原创 邮箱地址合法性校验,输入一人电子邮箱地址字符串,要求检查这人邮箱地址是否合法
1、仅包含一个“@”字符,2.最后三个字符必须是“.com”,3.字符之间没有空格,4、有效字符为0~9、a~z、A~Z输入:字符串,输出:是否是有效邮箱名的结果.样例输入: huawei@huawei.com,样例输出: 1。1.邮箱地址合法性校验( https://zhidao.baidu.com/question/332543978.html输入一人电子邮箱地址字符串,要求检查这人邮箱地址是否合法,如果输入的电子邮箱地址是合法的,输出字符串 "",如果不合法输出字符“0”。
2023-08-08 08:37:52
5629
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅