- 博客(71)
- 收藏
- 关注
原创 猜数字游戏
设计一个猜数字游戏程序,程序运行时会随机生成1-100之间的一个整数作为待猜数字,用户输入数字进行猜测后,程序会提示 “太小了!” 并让用户重新输入,直到猜中为止;
2025-07-30 07:00:00
313
原创 四位数字加密
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
2025-07-24 07:00:00
303
原创 0 - 7组合的奇数计数
这个问题其实是一个排列组合的问题,设这个数为 sun=a1a2a3a4a5a6a7a8,a1-a8 表示这个数的某位的数值,当一个数的最后一位为奇数时,那么这个数一定为奇数,不管前面几位是什么数字。如果最后一位数为偶数,则这个数一定为偶数。a1-a8可以取 0-7 这个八个数字,首位数字不为 0。.当只有一位数时也就是该数的最后一位,奇数个数为4。.当该数为三位数时,奇数个数为:4。.当该数为八位数时,奇数个数为:4。.当该数为两位数时,奇数个数为4。求0—7所能组成的奇数个数。
2025-07-21 07:00:00
380
原创 用指向指针的指针遍历字符串数组
指向指针的指针练习:q 被定义为 const char ** 类型,它是一个指向 const char * 的指针。通过将 q 赋值为 &s[k],q 指向了字符指针数组 s 中第 k 个元素的地址。.q = &s[k] 的作用:s[k] 是字符指针数组中的第 k 个元素,&s[k] 表示第 k 个元素的地址。因此,q 最终指向了字符指针数组中的一个元素。.printf(“%s\n”, *q) 的作用:*q 解引用 q,即获取 s[k] 指向的字符串内容,然后打印出来。
2025-07-16 07:00:00
248
原创 奇偶分类下的分式序列求和
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。
2025-07-14 07:00:00
308
原创 学生数据的输入输出
运用结构体定义学生数据类型,包含姓名、性别、年龄等成员。通过自定义函数 input 利用循环配合 scanf 函数接收5个学生的相关数据,存储到结构体数组中;再用自定义函数 output ,通过循环将结构体数组中存储的学生数据输出。编写 input() 和 output() 函数输入,输出5个学生的数据记录。
2025-07-12 07:00:00
481
原创 获取整数右起4 - 7位数字
给定一个整数 a ,要从这个整数的二进制表示形式中,取出从最右边(低位)开始数第4位到第7位的二进制位。(2)设置一个低 4 位全为 1,其余全为 0 的数,可用。(3)将上面二者进行 & 运算。(1)先使 a 右移 4 位。
2025-07-10 07:00:00
289
原创 数组元素循环右移m位
有 n 个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。:可以使用一个辅助数组来保存需要移动的元素,然后再将元素按照要求移动到正确的位置。
2025-07-10 07:00:00
468
原创 C语言宏替换比较练习
关键在于理解宏定义 #define 的替换机制与条件判断逻辑的结合运用。通过 test.h 中 #define 将 LAG 、 SMA 、 EQ 分别替换为 > 、 < 、 == ,主程序里借助这些宏定义简化比较符号书写,核心是预编译阶段宏会被原样替换,进而让 if-else 条件判断依据替换后的比较逻辑执行,以此实现对变量 i 和 j 大小关系的判断与输出。关于#include 的应用练习。
2025-07-08 21:55:59
329
原创 巧用 #define与 #ifdef,实现灵活数值比较
借助 #define 宏定义自定义 MAXIMUM 、 MINIMUM 用于数值比较,再通过 #ifdef (判断宏已定义)、 #ifndef (判断宏未定义 )、 #undef (取消宏定义 )构成条件编译逻辑,动态决定代码执行分支。#if #ifdef和#ifndef的综合应用。
2025-07-07 07:00:00
411
原创 宏定义实现自定义关系运算比较--3
将自定义标识符 LAG SMA EQ 分别替换为关系运算符 > < == ,在编译预处理阶段完成文本替换,让代码以自定义符号形式书写比较逻辑。宏#define命令练习3。
2025-07-06 21:00:38
388
原创 宏定义与循环的平方计算
关键是用宏定义简化代码语义,用变量 again 控制循环流程,通过输入判断动态决定程序走向,这三点协同实现“可重复输入、条件终止、计算平方”的完整逻辑。宏#define命令练习。
2025-07-05 07:00:00
261
原创 宏定义交换变量--2
这道题的关键在于理解宏定义的文本替换机制:通过 #define 定义带参数的宏 exchange(a,b) ,它会在编译预处理阶段,直接将调用处的 exchange(x,y) 文本替换为 { int t;} 这里需注意宏定义要写在一行,体现纯文本替换特性。宏#define命令练习2。
2025-07-05 07:00:00
352
原创 学习使用static的另一用法
中, static 局部变量仅在程序第一次进入该代码块时初始化(值为 1 ),后续循环进入时,不会重新赋值 1 ,而是保留上次修改的结果。第二次循环:再次进入内层代码块时,跳过初始化(不会再执行 static int num = 1;生命周期:不同于普通局部变量(离开代码块即销毁), static 局部变量的生命周期贯穿整个程序运行,值会被持续保留。第一次循环:进入内层代码块时, num 首次初始化 1 → 输出 1 → 自增为 2 (值被保留)。
2025-07-04 07:00:00
323
原创 auto定义变量
学习使用auto定义变量的用法。在 C 语言里, auto 用于定义自动局部变量(默认局部变量就是 auto 类型,可省略 auto 关键字 ),它的作用域局限于所在代码块(如下面示例的内层 { } ),代码块执行结束,变量销毁,下次进入代码块会重新初始化。
2025-07-03 19:00:00
391
原创 有序数组的新数插入
首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
2025-07-02 07:00:00
394
原创 借助函数调用理解 static 变量
在 C 语言中,static 关键字用于声明静态变量。静态变量与普通变量不同,它们的生存期和作用域是不同的。静态变量在声明时被初始化,只被初始化一次,而且在整个程序的生命周期内都保持存在。在函数内声明的静态变量只能在该函数内访问,而在函数外声明的静态变量则只能在该文件内访问。每次调用 foo() 函数时,x 的值都会加 1,并打印出新的值。由于 x 是静态变量,它在程序的整个生命周期中都存在,而不仅仅是在函数调用时存在。因此,每次调用 foo() 时,它都可以记住 x 的值,并在此基础上递增。
2025-07-02 07:00:00
447
原创 10个数字排序
可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。输入10个数字,按照由小到大的顺序进行排序。输入10个整数,中间用空格隔开。输出排序后的数字序列。
2025-07-01 07:00:00
330
原创 字符串反转
先通过指针遍历字符串计算其长度,确定参与交换的字符范围,再利用循环,以对称位置(从两端向中间)的方式,借助临时变量交换对应字符,实现字符串的反转。字符串反转,如将字符串 “www.runoob.com” 反转为 “moc.boonur.www”。
2025-06-30 21:38:20
335
原创 字符判断星期几
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2025-06-29 07:00:00
307
原创 删除指定字符
利用哈希表(数组模拟)标记待删除字符,遍历目标字符串,仅保留不在待删除集合中的字符,最后在新字符串末尾补结束符。删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。
2025-06-29 07:00:00
362
原创 递归实现字符逆序输出
利用递归“先深入获取字符、回溯时输出”的特性,借递归调用栈暂存顺序,回退时逆序输出字符,用递归流程实现输入字符的反向打印。利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
2025-06-28 07:00:00
348
原创 猴子吃桃问题
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。以此类推: x 前 = (x后+1) * 2。.从第10天可以类推到第1天,是一个循环过程。:采取逆向思维的方法,从后往前推断。
2025-06-27 07:00:00
306
原创 乒乓球比赛队员配对问题
两个乒乓球队进行比赛,各出三人,甲队为 a、b、c 三人,乙队为 x、y、z 三人。抽签决定比赛名单,有人向队员打听比赛的名单:a 说他不和 x 比,c 说他不和 x、z 比,请设计程序找出三队赛手的名单。分别枚举甲队的每个队员与乙队的队员匹配的可能性。.确保每个乙队的队员只能和一个甲队的队员比赛。(2)c 不和 x 和 z 比赛。(1) a 不和 x 比赛。
2025-06-27 07:00:00
378
原创 找出1000以内的完数
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 6=1+2+3 ,请设计程序找出 1000 以内的所有完数。
2025-06-26 07:00:00
208
原创 数字累加序列求和
求 s=a+aa+aaa+aaaa+aa…a 的值,其中 a 是一个数字,例如:2+22+222+2222+22222 (此时共有5个数相加),几个数相加由键盘控制。输入每一项的基础数字及相加的项数,中间用空格隔开。:关键是计算出每一项的值。
2025-06-25 07:00:00
502
1
原创 兔子生崽问题
因循环步长是 2 ,一次循环内会再算一次下一项(重复 temp = a + b ),输出并换行,保证每轮循环输出 两项,最终覆盖前 20 项的输出。:题目的本质对应斐波那契数列:从第 3 项开始,每一项等于前两项之和(即 F(n) = F(n-1) + F(n-2) ,初始项 F(1)=1, F(2)=1 )。古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前20个月即可)
2025-06-23 07:00:00
365
原创 分解质因数
(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。将一个正整数分解质因数。例如:输入 90,打印出 90=2。
2025-06-23 07:00:00
427
原创 Java01-使用IDEA编写运行第一个Java程序HelloWorld
5.输入文件名称HelloWorld,文件后不用带.java后缀,IDEA会自动添加文件后缀。3.在新项目中新建一个src文件夹(用于集中管理文件)1.打开IDEA,点击首页的新建项目。
2025-06-22 13:28:39
531
原创 特殊数列求和
递归逻辑:对于 n > 2 的情况,根据斐波那契数列定义,第 n 项等于第 n - 1 项与第 n - 2 项之和,通过递归调用自身来计算(效率较低)。有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。.这是一个递归函数,用于计算斐波那契数列的第n项;递归终止条件:当n为1、2 时,直接返回1;
2025-06-20 07:00:00
375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人