每天一道C语言精选编程题(含案例)
日常练习
混迹网络的权某
26考研土木跨考11408
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
每天一道C语言精选编程题之字符串拷贝
写⼀个函数my_strcpy,实现拷⻉字符串的功能,假设给定⼀个字符数组a,再给定⼀个字符数组b,将字符串a中的内容拷⻉到字符串b中,拷⻉内容包含字符串末尾的 \0 字符。原创 2025-04-18 16:40:42 · 225 阅读 · 0 评论 -
每天一道C语言精选编程题之删除指定的数
先输⼊10个整数存放在数组中,再输⼊⼀个整数n,删除数组中所有等于n的数字,数组中剩余的数组保证数组的最前⾯,打印剩余的数字。原创 2024-11-04 20:24:30 · 310 阅读 · 0 评论 -
每天一道C语言精选编程题之printf乘法口诀表
*”是乘号,乘号前⾯和后⾯的数叫做因数,“=”是等于号,等于号后⾯的数叫做积。3. 然后使⽤ printf 函数打印出每⼀项,包括被两个因数和乘积,它们⽤空格隔开,并且使⽤ %2d 格式控制符将乘积左对⻬输出,使得每个乘积占两个字符宽度;2. 在内部循环中,我们⽤ j 迭代列号,从 1 到 i ,表⽰第 i ⾏中的第 j 列;4. 在打印完每⼀⾏后,需要继续打印⼀个 '\n',表⽰当前⾏遍历结束,开始下⼀⾏的打印;1. 在外部循环中,我们⽤ i 迭代⾏号,从 1 到 9 ,表⽰乘法表中的第 i ⾏;原创 2024-07-30 12:18:25 · 580 阅读 · 0 评论 -
每天一道C语言精选编程题之逆序字符串
因此,我们可以定义两个指针分别指向字符串⾸位和末位,对其进⾏交换操作,然后将两个指针相向移动⼀位,继续交换剩余字符。直⾄两个指针的相对位置发⽣变化时结束操作,最终得到的字符串即为逆序后的字符串。最中间的两位互换,或者字符串⻓度为奇数时,中间字符不变。输⼊⼀个字符串,写⼀个函数将⼀个字符串的内容逆序过来。第⼆位与倒数第⼆位互换;原创 2024-08-25 23:42:05 · 427 阅读 · 0 评论 -
每天一道C语言精选编程题之求求字符串长度【进阶版】
在递归函数中,函数会调⽤⾃⼰,并在每次调⽤中传⼊不同的参数,直到达到某个基准条件,然后递归结束并返回结果。输⼊⼀个字符串(字符串⻓度⼩于等于30,中间不包含空格),使⽤Strlen函数可以求字符串的⻓。1. 递归结束条件:递归必须有⼀个结束条件,否则会导致⽆限递归,最终导致堆栈溢出等问题。写⼀个函数Strlen,可以求字符串⻓度,除了函数的形参,函数中不能使⽤多余的变量。3. 递归传参:递归函数每次调⽤⾃⾝时,需要传⼊不同的参数,以处理不同的情况。2. 递归调⽤:字符串的⻓度=1+后⾯⼦字符串的⻓度;原创 2024-08-25 23:35:15 · 354 阅读 · 0 评论 -
每天一道C语言精选编程题之字符转换
输⼊⼀个字符串,将字符串中⼤写字⺟全部转为⼩写字⺟,⼩写字⺟转成⼤写字⺟,其他字符保持不变。1. 对于每个字符,我们检查它是⼤写字⺟、⼩写字⺟还是其他字符;注:字符串的⻓度⼩于等于30,其中字符串中包含空格。2. 如果它是⼤写字⺟,我们将其转换为⼩写字⺟;3. 如果它是⼩写字⺟,我们将其转换为⼤写字⺟;1. islower():判断字符是否为⼩写字⺟。2. isupper():判断字符是否为⼤写字⺟。3. tolower():将字符转换为⼩写字⺟。4. toupper():将字符转换为⼤写字⺟。原创 2024-08-18 23:43:09 · 522 阅读 · 0 评论 -
每天一道C语言精选编程题之自幂数
我们可以使⽤⼀个循环遍历 1~100000 并检查每个数是否为⾃幂数。写⼀个代码打印1~100000之间的所有的⾃幂数,中间⽤空格分隔。3. 判断 sum 与 i 是否相等,相等则 i 是⾃幂数。2. 计算 i 的每⼀位的 n 次⽅之和 sum;注:可以使⽤ pow 函数求得某个数的次⽅数。幂数,因为 1^3+5^3+3^3=153。1. 计算 i 的位数 n;⾃幂数是指⼀个数的位数的n次。原创 2024-08-15 23:25:21 · 480 阅读 · 0 评论 -
每天一道C语言精选编程题之排序整形数组
冒泡排序是⼀种基础的排序算法,其基本思想是⽐较相邻的两个元素,如果它们的顺序错误就交换它 们的位置,直到整个序列有序为⽌。2. 在对序列中的所有相邻元素都进⾏了⼀次⽐较之后,第⼀轮排序结束,此时最后⼀个元素已经是整个序列中最⼤的元素。1. 从序列的第⼀个元素开始,对相邻的两个元素进⾏⽐较,如果顺序错误就交换它们的位置,使较。若在某⼀轮排序中未进⾏交换操作,则当前序列已经是升序状态,可以结束排序。⼩的元素排在前⾯,较⼤的元素排在后⾯。原创 2024-08-12 23:54:13 · 518 阅读 · 0 评论 -
每天一道C语言精选编程题之求字符串长度
指针是⼀种可以指向内存地址的数据类型,我们可以通过移动指针的位置来访问内存中的不同数据。在本题中,我们可以定义⼀个指向字符串开头的指针,并不断地移动它来计算字符串⻓度。中,以字符数组的形式存在,数组的最后⼀个元素是空字符'\0',⽤来表⽰字符串的结束。⽐如说字符串"hello",在内存中存储的形式就是'h'、'e'、'l'、'l'、'o'、'\0'。输⼊⼀个字符串(字符串⻓度⼩于等于30,中间不包含空格),使⽤Strlen函数可以求字符串的长度,并返回。⾸先,我们需要了解字符串的存储⽅式。原创 2024-08-25 22:55:59 · 621 阅读 · 0 评论 -
C语言案例——汉诺塔问题
默认三个柱子,盘子数量为N,原创 2024-11-03 09:32:17 · 314 阅读 · 0 评论 -
每天一道C语言精选编程题之printf两个整数的平均值
1. 两数本⾝和两数的平均数不会溢出,考虑平均数与其中⼀个数的差:(x+y)/2-x=(y-x)/2;2. 要求得 (x+y)/2,我们可以先求得 x 与 (y-x)/2,然后求得他们的和即可;输⼊2个整数m和n,写⼀个函数average,求2个整数的平均值,考虑整数过⼤溢出的问题。本题最直观的解法为:两数相加后除以⼆向下取整。不过因为整数过⼤时,两数相加会溢出的问题,3. x 与 (y-x)/2 在计算过程中都不会溢出,因此这个⽅法成⽴。原创 2024-08-19 23:55:49 · 495 阅读 · 0 评论 -
每天一道C语言精选编程题之printf最小公倍数
最⼩公倍数是指两个或多个整数共有倍数中最⼩的⼀个。为了求出两个数的最⼩公倍数,可以采⽤枚 举试除法。2. 从⼩到⼤依次判断能否同时整除这两个数,若某个数满⾜同时被两个数整除,则其为公倍数;特别地,最⼩公倍数可以由两数乘积除以两数的最⼤公约数求得。3. 从⼩到⼤遍历找到公倍数时,此数即为最⼩公倍数,此时应当结束循环;1. 具体来说,公倍数⼀定⼤于两个数,从两个数中的较⼤值开始枚举;输⼊2个整数m和n,计算m和n的最⼩公倍数,并打印出结果。原创 2024-08-07 23:49:46 · 457 阅读 · 0 评论 -
每天一道C语言精选编程题之判断三角形
判断三角形题目描述输⼊三个整数a,b,c,判断由a,b,c作为三条边组成的三⻆形,如果不能组成三⻆形则输出:⾮三⻆形;如果是三⻆形,再继续判断,如果是等边三⻆形,则输出:等边三⻆形;如果是等腰三⻆形,则输出:等腰三⻆形;否则输出普通三⻆形。输⼊:3 4 5输出:普通三⻆形输⼊:3 3 3输出:等边三⻆形输⼊:3 3 4输出:等腰三⻆形解法思路三⻆形的判断⽅法是:对于三条边⻓a、b、c,若任意两边之和⼤于第三边,那么就可以组成⼀个三 ⻆形,即a+b>c, a+c>b, b+c>a。原创 2024-08-03 23:33:09 · 698 阅读 · 0 评论 -
C语言案例——青蛙跳台阶问题
一只青蛙,一次可以跳1个台阶,也可以跳两个台阶。问:这只青蛙,跳到第n个台阶,有多少种跳法。原创 2024-11-03 08:59:39 · 509 阅读 · 0 评论 -
每天一道C语言精选编程题之计算最大值和最小值的差值
我们可以使⽤⼀个变量记录输⼊的数,在每次需要更新最值前,输⼊⼀个数与之进⾏判 断,从⽽避免了定义数组。然后我们通过循环,将剩余的 9 个数与当前的最⼤值和最⼩值进⾏⽐较,更新 max 和 min 的。在循环的过程中,⽤两个变量 max 和 min 分别记录当前已经输⼊的最⼤值和最⼩值,分别初始。我们可以使⽤⼀个循环来输⼊这10个整数并记录在⼀个数组中,然后使⽤另⼀个循环查找两个最。输⼊10个整数,写代码找出其中最⼤值和最⼩值,计算最⼤值和最⼩值的差,并打印出差值结果。值,直到所有的数都输⼊完毕。原创 2024-08-10 23:14:37 · 542 阅读 · 0 评论 -
每天一道C语言精选编程题之求数字的每⼀位之和
输⼊⼀个整数m,求这个整数m的每⼀位之和,并printf。原创 2024-10-24 21:04:18 · 466 阅读 · 1 评论 -
每天一道C语言精选编程题之计算最大公约数
最后,通过数学归纳法证明,在辗转相除的过程中,每次都将较⼤的数除以较⼩的数取余数,余数⽐ 上⼀轮操作的被除数⼩,最终余数为0时,较⼩的数就是 a 和 b 的最⼤公约数。bq + r ,那么 d 也是 b 和 r 的公约数,因为 d 能整除 a 和 b ,所以 d 也能整除 a - bq ,学原理:如果 a 和 b 是两个正整数,且 a>b ,则a和b的最⼤公约数等于 b 和 a%b ( a 除以 b。假设我们已经知道a和b的最⼤公约数为 d ,即 d 是 a 和 b 的公约数,那么根据带余除法, a =原创 2024-08-07 23:43:45 · 614 阅读 · 0 评论 -
每天一道C语言精选编程题之判断回文字符串
输⼊⼀个字符串,判断这个字符串是否是回⽂字符串(字符串的⻓度⼩于等于30,字符串不包含空格),如果是回⽂字符串输出Yes,如果不是回⽂字符串输出No。原创 2024-10-29 20:41:13 · 412 阅读 · 0 评论 -
每天一道C语言精选编程题之交换两个整数
5. 在调⽤函数时,将需要交换值的两个整数变量的地址作为参数传递给函数,可以使⽤ & 运算符 来获取变量的地址。1. 定义⼀个函数 Swap ,参数是两个整型指针,表⽰需要交换值的两个整数变量的地址。明确函数的作⽤,即交换两个整数的值。写⼀个函数Swap,可以交换两个整数的内容。注意必须实现成函数完成。输⼊2个整数,调⽤⾃定义函数Swap,完成2个整数的交换。2. 在函数中,使⽤⼀个临时变量来存储第⼀个整数变量的值。3. 将第二个整数变量的值赋给第⼀个整数变量。4. 将临时变量的值赋给第二个整数变量。原创 2024-08-18 23:46:02 · 972 阅读 · 0 评论 -
每天一道C语言精选编程题之printf素数
素数是指只能被1和它本⾝整除的正整数。使⽤C语⾔写⼀个程序打印100~200之间的素数,数字中间使⽤空格分割。原创 2024-07-31 17:05:17 · 524 阅读 · 0 评论 -
每天一道C语言精选编程题之分数求和
计算 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - …+ 1/99 - 1/100 的值,并打印出结果。注:除法分为整数除法和 浮点数除法,要计算出⼩数,得采⽤浮点数除法,浮点数除法的操作数中⾄少要保证有⼀个浮点数。3. 对于奇数 i,将 1/i 加⼊到sum中,对于偶数 i,将 sum 减去 1/i。我们就可以得到所求的。在计算 1/i 时,需将除法转化为浮点数除法,可以将 1 写为 1.0 实现。1. ⾸先,我们可以定义⼀个变量sum来记录计算结果,初始值为0;可以⽤⼀个循环来计算。原创 2024-08-10 23:04:33 · 428 阅读 · 0 评论 -
每天一道C语言精选编程题之printf奇数
打印 1~100之间的奇数题目描述:使⽤C语⾔写⼀个程序打印 1~100之间的奇数,要求输出的数字中间加上空格。原创 2024-07-29 23:56:02 · 392 阅读 · 0 评论 -
每天一道C语言精选编程题之计算天数
输⼊y和m两个整数,y表⽰年份,m表⽰⽉份,计算y年m⽉有多少天,并输出天数。原创 2024-10-30 20:45:45 · 405 阅读 · 0 评论 -
每天一道C语言精选编程题之空瓶子换汽水
两个空瓶⼦可以换到⼀瓶汽⽔和⼀个空瓶⼦,相当于⼀个空瓶⼦可以 喝到⼀瓶汽⽔,⽽最后⼀定会剩余⼀个空瓶⼦⽆法继续购买汽⽔。⽔已知1瓶汽⽔1元,2个空瓶可以换⼀瓶汽⽔,输⼊整数n(n>=0),表⽰n元钱,计算可以多少汽⽔。2. 每次将剩余的空瓶⼦ empty 除以 2,表⽰可以换取的汽⽔数量,将这些汽⽔数量加到 total 中。3. 将剩余的空瓶⼦ empty 除以 2 向上取整,表⽰剩余的空瓶⼦买了汽⽔后喝完剩下的空瓶⼦数量。每次尽可能地⽤空瓶⼦去换取汽⽔,直到剩余的空瓶⼦不⾜以再换⼀瓶汽⽔为⽌。原创 2024-08-15 23:38:49 · 701 阅读 · 0 评论 -
每天一道C语言精选编程题之printf菱形
1. ⾸先打印上半部分的菱形。需要注意的是,上半部分共有 n ⾏,第 i ⾏需要打印 2*i-1 个符号,⽽ 且这些符号需要居中对⻬。为了实现居中对⻬,我们可以在每⼀⾏的前⾯打印 n-i 个空格。与上半部分类似,下半部分共有 n-1 ⾏,第 i ⾏需要打印 2*(n-i)-1个符号,同样需要居中对⻬,并且需要在每⼀⾏的前⾯打印n - (n - i)个空格。来说,我们可以使⽤⼀个循环来遍历每⼀⾏,并使⽤另⼀个循环来打印空格和符号。输⼊⼀个整数n,打印对应2*n-1⾏的菱形图案。输⼊的整数n决定了图案的⼤⼩。原创 2024-08-15 23:28:59 · 653 阅读 · 0 评论 -
每天一道C语言精选编程题之四人推理盗窃者
真正的盗窃者只有⼀个,因此我们可以假设其中⼀⼈为盗窃者,通过对每个嫌疑⼈的供词进⾏分析, 逐⼀排除嫌疑⼈。• 如果D说真话,则C在胡说,即C说假话,盗窃者不是D;如果D说假话,则盗窃者不是C。某地发⽣了⼀件盗窃案,警察通过排查确定盗窃者必为4个嫌疑⼈的⼀个。• 如果A说真话,则盗窃者不是A;如果A说假话,则盗窃者是A。• 如果B说真话,则盗窃者是C;如果B说假话,则盗窃者不是C。• 如果C说真话,则盗窃者是D;如果C说假话,则盗窃者不是D。已知3个⼈说了真话,1个⼈说的是假话。原创 2024-08-12 23:57:39 · 588 阅读 · 0 评论
分享