- 博客(28)
- 收藏
- 关注
原创 求字符串长度三种方法(临时变量、递归、指针)
通过循环判断*str指向的值是否为'\0',进行count++通过循环判断*str指向的值是否为'\0',进行更深一层的递归。不是所有的指针都能相减,指向同一空间的两个指针才能相减。指针减指针的绝对值得到指针和指针之间元素的个数。1.创建临时变量count。
2024-09-27 21:21:29 148
原创 字母大小写转换
(2)通过ASCII码判断是否为大写/小写,再通过其大写小写字母ASCII码差值32输出其小写/大写 注意scanf()返回值的使用:scanf读取成功的时候,返回的是读取的数据的个数,scanf函数在读取失败时,返回EOF。(1)通过函数islower(ch)/isupper(ch)判断是不是小写/大写,再通过函数toupper(ch)/tolower(ch)将字母转换为大写/小写。输入大写字母,自动输出小写字母。输入小写字母,自动输出大写字母。
2024-09-27 13:29:18 28
原创 对整数序列中指定删除某个数,输出后序列中未被删除的数字前后位置没有发生改变
(4)输出删除指定数字之后的序列,序列中未被删除的数字前后位置没有发生改变。(2)第二行输入N个整数,输入用空格分隔N个整数。(1)第一行输入一个整数N(0<=N<=50)(3)第三行输入想要进行删除的整数。
2024-09-27 13:19:15 39
原创 需要走n阶台阶,一次可以选择走一阶或者走两阶 一共有多少种走法(递归)
需要走n阶台阶,一次可以选择走一阶或者走两阶 一共有多少种走法,处理方法类似于求斐波拉契数列。
2024-09-27 13:15:36 31
原创 不使用临时变量,实现两个数的交换(通过运算符)
可使用异或操作符(按位异或,相同为0,相异为1):a^a=0,0^a=a。不建议使用加法交换,当所需交换的两个数值足够大时,相加可能会造成溢出。即有(1)a=a^b;
2024-09-27 00:17:48 56
原创 隐式类型转换(整型提升char--->int)
表达式的整型运算要在CPU的相应运算器内执行,CPU内整形运算器(ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为 普通整型,这种转换称为整型提升。C语言的整型算数运算总是至少以缺省整型类型的精度来进行的。1.有符号数整型提升是按照变量的数据类型的符号位来提升的。所以整型提升的时候,高位补充符号位,即为1。
2024-09-27 00:05:06 162
原创 求一个整数存储在内存中的二进制中1的个数(补码存储)
反码:11111111 11111111 11111111 11111110。补码:11111111 11111111 11111111 11111111。-1的原码:10000000 00000000 00000000 00000001。1的补码:00000000 00000000 00000000 00000001。反码为原码原码符号位不变,其他位按位取反。故-1存储的二进制位中1的个数为32。故1存储的二进制位中1的个数为1。正数原码、反码、补码相同。
2024-09-26 23:57:54 59
原创 通过函数对数组进行初始化、打印、逆序
3.实现函数init(),初始化数组全为0组元素的逆置。1.实现print(),打印数组的每个元素。2.实现reverse(),函数完成数。创建一个整型数组,完成对数组的操作。
2024-09-25 22:06:38 159
原创 三种方法实现字符串逆序(非递归,递归,递归+指针)
运行结果:(最好字符串长度为单数、双数两种情况都分别测试一下)注意单目运算符sizeof()和库函数strlen()区别。字符串:abcdefg(个数为单数)逆序。字符串:abcdef(个数为双数)逆序。
2024-09-25 21:56:37 283
原创 汉诺塔(递归)
汉诺塔:圆盘从下至上按大到小顺序从一根柱子重新摆放在另一根柱子上,并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。输入汉诺塔总共圆盘个数,总共三个底座(A,B,C),输出移动过程(A->B:将A顶上的盘移到B座)
2024-09-24 18:54:27 192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人