![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言实现功能
神游患者╭
记录自己的编程之路
展开
-
[C语言]X型图案
多组输入,一个整数(2-20),表示输出的行数,也表示组成‘X'的反斜线和正斜线的长度。针对每行输入,输出用’*‘组成的X形图案。原创 2023-03-28 13:07:08 · 207 阅读 · 0 评论 -
[C语言]公务员面试
公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。一行,输入7个整数(0-100),代表7个成绩,用空格分割。原创 2023-03-28 13:03:46 · 178 阅读 · 0 评论 -
[C语言]获得月份天数
KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。原创 2023-03-28 12:55:42 · 121 阅读 · 0 评论 -
[C语言]有序序列插入一个数
有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列任然是升序。第二行输入N个升序排列的整数,输入用空格分隔的N个整数。第一行输入一个整数(0≤N≤50)第三行输入想要进行插入的一个整数。输出为一行,N+1个有序排列的整数。原创 2023-03-28 12:51:37 · 342 阅读 · 0 评论 -
[C语言]设置内存块memset函数
该值作为 int 传递,但该函数使用此值的无符号 char 转换填充内存块。将 ptr 指向的内存块的第一个字节数设置为指定值(解释为无符号字符)。指向要填充的内存块的指针。要设置为该值的字节数。原创 2023-03-21 22:31:05 · 126 阅读 · 0 评论 -
[C语言]比较两个内存块memcmp函数
进行比较,如果它们都匹配,则返回零,如果不匹配,则返回一个不同于零的值,表示哪个值更大。两个内存块中不匹配的第一个字节在 PTR1 中的值大于在。两个内存块中不匹配的第一个字节在 PTR1 中的值低于。将 ptr1 指向的内存块的前 num 字节数与。不同,该函数在找到空字符后不会停止比较。两个内存块的内容相等。原创 2023-03-21 22:17:46 · 347 阅读 · 0 评论 -
[C语言]移动内存块memmove函数
将字节数的值从源指向的位置复制到目标指向的内存块。复制就像使用了中间缓冲区一样,允许目标和源重叠。源指针和目标指针指向的对象的基础类型与此函数无关;结果是数据的二进制副本。指向要在其中复制内容的目标数组的指针,类型转换为 void* 类型的指针。指向要复制的数据源的指针,类型转换为 const void* 类型的指针。该函数不检查源中的任何终止空字符 - 它总是准确地复制字节数。为避免溢出,目标参数和源参数指向的数组的大小应至少为字节数。memmove函数实现。原创 2023-03-21 21:58:33 · 144 阅读 · 0 评论 -
[C语言]复制内存块memcpy函数
为避免溢出,目标和源参数指向的数组大小应至少为字节数,并且不应重叠(对于重叠的内存块,源指针和目标指针指向的对象的基础类型与此函数无关;结果是数据的二进制副本。指向要在其中复制内容的目标数组的指针,类型转换为 void* 类型的指针。指向要复制的数据源的指针,类型转换为 const void* 类型的指针。该函数不检查源中的任何终止空字符 - 它总是准确地复制字节数。将字节数的值从源指向的位置直接复制到目标指向的内存块。是一种更安全的方法)。实现memcpy函数。原创 2023-03-21 18:29:28 · 602 阅读 · 0 评论 -
[C语言]错误信息报告strerror函数和perror函数
strerror解释 errnum 的值,生成一个字符串,其中包含描述错误条件的消息,就像由库的函数设置为一样。返回的指针指向静态分配的字符串,程序不应修改该字符串。对此函数的进一步调用可能会覆盖其内容(不需要特定的库实现来避免数据争用)。strerror 生成的错误字符串可能特定于每个系统和库实现。原创 2023-03-21 10:56:02 · 269 阅读 · 0 评论 -
[C语言]字符串拆分strtok函数
strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向这个标记的指针。(注::strtok函数会改变被操作的的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容且可修改。strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。strtok函数的第一个参数不为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。第一个参数指定一个字符串,它包含了0个或者多个有sep字符串中一个或者多个分隔符分割的标记。原创 2023-03-21 10:49:29 · 82 阅读 · 0 评论 -
[C语言]查找子字符串strstr函数
中指定的整个字符序列在 str2 中首次出现的指针,如果序列在。中第一次出现的 str1 的指针,如果。包含要匹配的字符序列的 C 字符串。中不存在,则为 null 指针。的一部分,则返回一个空指针。要扫描的 C 字符串。实现strstr函数。原创 2023-03-21 09:59:44 · 384 阅读 · 0 评论 -
[C语言]比较两个字符串strcmp函数
strcmp比较两个字符串将 C 字符串str1与 C 字符串str2进行比较。此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续以下对,直到字符不同或达到终止空字符。此函数执行字符的二进制比较。原创 2023-03-20 22:13:39 · 392 阅读 · 0 评论 -
[C语言]字符串连接(追加)strcat函数
将源字符串的副本追加到目标字符串。目标中的终止空字符被源的第一个字符覆盖,并且在目标中由两者串联形成的新字符串的末尾包含一个空字符。指向目标数组的指针,该数组应包含 C 字符串,并且足够大以包含串联的结果字符串。要追加的 C 字符串。目的地和来源不得重叠。原创 2023-03-20 21:22:07 · 1636 阅读 · 0 评论 -
[C语言]判断一个字符串是否为另外一个字符串旋转之后的字符串。
法二:使用库函数strncat在str1字符串后追加一个str1字符串,这样追加后的str1字符串有没追加str1之前的字符串所有旋转的情况,再判断str2是否是str1追加之后的字串,若是字串返回1,否则返回0。法一:将str1每次旋转一个字符比较是否与str2相等,依次比较直至旋转完所有的字符,在此期间若两字符串相等返回1,否则返回0。写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1=AABCD和s2=BCDAA,返回1。AABCD左旋转一个字符得到ABCDA。原创 2023-03-20 18:15:44 · 185 阅读 · 0 评论 -
[C语言]左旋转字符串
ABCDEFG左旋一个字符得到BCDEFGA。ABCDEFG左旋两个字符得到CDEFGAB。实现一个函数,可以左旋字符串中的k个字符。原创 2023-03-20 18:01:10 · 126 阅读 · 0 评论 -
[C语言]在杨氏矩阵中查找
杨氏矩阵,是对组合表示理论和舒伯特演算很有用的工具。它提供了一种方便的方式来描述对称和一般线性群的群表示,并研究它们的性质。有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。时间复杂度小于O(N);思路:矩阵右上角的值,是所在行最大值,所在列最小值。用矩阵右上角的数字与要查找的值k相比较。若k小于矩阵右上角的值,排除所在列,列号-1继续比较。若k大于矩阵右上角的值,排除所在行,行号+1。依次类推,若找到返回1,没找到返回0。在这个杨氏矩阵中查找7。原创 2023-03-20 17:54:12 · 97 阅读 · 0 评论 -
[C语言]qsort()排序函数的使用
qsort函数C语言编译器函数库自带的排序函数。qsort 的函数原型是void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));是base所指数组进行排序。qsort函数包含在C 标准库 - 中。函数声明。原创 2023-03-19 11:08:11 · 64 阅读 · 0 评论 -
[C语言]猜名次
比赛结束后,每位选手都说对了一半。A选手说:B第二,我第三。B选手说:我第二,E第四。C选手说:我第一,D第二。D选手说:C最后,我第三。E选手说:我第四,A第一。原创 2023-03-13 17:57:38 · 55 阅读 · 0 评论 -
[C语言]猜凶手
某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。三个人说的是真话,一个人说的是假话。原创 2023-03-13 17:32:34 · 51 阅读 · 0 评论 -
[C语言]杨辉三角
杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。(1623----1662)是在1654年发现这一。在三角形中的一种几何排列。每个数等于它上方两数之和。原创 2023-03-13 16:18:36 · 34 阅读 · 0 评论 -
[C语言]调整一个整型数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。
调整后:arr数组中1,3,5,7,9在数组的前部分,arr数组中2,4,6,8,10在数组的后部分。例:初始整型数组arr[]={1,2,3,4,5,6,7,8,9,10};原创 2023-03-12 21:07:50 · 371 阅读 · 0 评论 -
[C语言]喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元钱能喝多少瓶汽水?
第二步,置换的汽水,空瓶数/2=置换的汽水数,喝完置换汽水的空瓶继续置换...第一步,买的汽水,钱数/一瓶汽水的价钱=买的汽水总数。法二:根据规律可知喝汽水总数=钱数*2-1。原创 2023-03-12 18:47:27 · 84 阅读 · 0 评论 -
[C语言]打印菱形
菱形(rhombus)是特殊的平行四边形之一。有一组邻边相等的平行四边形称为菱形。如图1,在平行四边形ABCD中,若AB=BC,则称这个平行四边形ABCD是菱形,记作◇ABCD,读作菱形ABCD。是菱形,四边都相等的四边形是菱形,菱形的对角线互相垂直平分且平分每一组。有2条,即两条对角线所在直线,菱形是。在同一平面内,有一组邻边相等的。原创 2023-03-12 17:25:13 · 105 阅读 · 0 评论 -
[C语言]逆序一个字符串的内容
逆序后字符串:fedcba。原字符串:abcdef。原创 2023-03-12 15:02:59 · 40 阅读 · 0 评论 -
[C语言]求水仙花数和自幂数
(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。“自幂数”是指一个n位数,其各位数字的n次方之和等于该数本身。水仙花数(Narcissistic number)也被称为。求出0~1000之间的所有“自幂数”并输出。的一种,严格来说3位数的3次。附:其他位数的自幂数名字。三位自幂数:水仙花数。原创 2023-03-12 12:17:09 · 136 阅读 · 0 评论 -
[C语言]求Sn=a+aa+aaa+aaaa+aaaaa+...的前n项和,其中a是一个数字
求Sn=a+aa+aaa+aaaa+aaaaa+...的前n项和,其中a是一个数字。例:2+22+222+2222+22222。原创 2023-03-12 10:54:45 · 225 阅读 · 0 评论 -
[C语言]判断当前机器的字节序
为什么会有大小端模式之分呢?但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个将多个字节安排的问题。大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。对于整型来说:数据存放内存中其实存放的是补码。原创 2023-03-10 11:13:20 · 120 阅读 · 0 评论 -
[C语言]将一句话的单词倒置,标点不倒置。
思路:先将一句话中所有的字符都倒置,再将每个单词中的字符倒置。例:I love girl.原创 2023-03-08 10:51:13 · 119 阅读 · 0 评论 -
[C语言]计算参数二进制补码中有多少个1
法一:参数num%2若为1表示第一位补码是1,反则不是,num/2是将参数num向右移动一位,继续判断第一位补码是否为1,依次循环到num为0。法二:用参数num的每一位和1按位与,若为1表示当前位为1,反则是0。10的二进制补码:1010 1的二进制补码:0001。5/2=2的二进制补码:0010 2%2=0。2/2=1的二进制补码:0001 1%2=1。10/2=5的二进制补码:0101 5%2=1。再向右移一位:0001。再向右移一位:0000。原创 2023-03-07 21:30:50 · 55 阅读 · 0 评论 -
[C语言]判断一个数是否为2的N次方
法二:所判断的数num%2,若为0,表示是2的整数倍,是2的n次方,否则不是2的n次方。追加特殊条件所判断数是否为1,1是2的0次方。法一:所判断的数num和num-1相与,若为0,则是2的n次方,否则不是。8-1=7的二进制:0111。8的二进制:1000。原创 2023-03-07 20:57:58 · 815 阅读 · 0 评论 -
[C语言]求两个数二进制位不同的个数
法二:通过位异或,找到两个数不同的位,然后在统计有几个1(统计有几个不同的位)。法一:通过比较两个数的二进制位的每一个位。原创 2023-03-07 18:53:22 · 234 阅读 · 0 评论 -
[C语言]分别打印一个整数二进制位序列中所有的偶数位和奇数位。
思路:通过将一个整数的二进制位序列中的偶数(奇数)位移位到第一位与1按位与(&)后。原创 2023-03-07 18:42:18 · 124 阅读 · 0 评论 -
[C语言]不使用临时变量交换两个变量的值
其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与。如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。异或的数学符号为“⊕”,计算机符号为“xor”。异或,英文为exclusive OR,缩写成xor。是相同的,只是不带进位,所以异或常被认作不进位加法。异或(xor)是一个数学运算符。思路:使用位异或操作符。原创 2023-03-07 18:35:24 · 67 阅读 · 0 评论 -
[C语言]字符串拷贝
strcpy() 会把 strSource 指向的字符串复制到 strDestination。【实例】使用C语言 strcpy() 函数将字符串 src 复制到 dest。C语言 strcpy() 函数用于对字符串进行复制(拷贝)。返回值:目的字符串,也即 strDestination。C语言strcpy()函数:字符串复制(拷贝)函数。strDestination:目的字符串。strSource:源字符串。头文件:string.h。原创 2023-03-07 10:04:27 · 1268 阅读 · 0 评论 -
[C语言]求字符串长度
C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符。其长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身。字符串长度是指字符串所含的字符个数,但不包括最后的'\0'。原创 2023-03-04 18:30:28 · 419 阅读 · 0 评论 -
[C语言]数组逆置
初始数组arr[10]={1,2,3,4,5,6,7,8,9,10};逆置后 arr[10]={10,9,8,7,6,5,4,3,2,1};原创 2023-03-03 18:04:29 · 759 阅读 · 1 评论 -
[C语言]扫雷游戏
扫雷的规则我们随便点一个格子,方格即被打开并显示出方格中的数字,方格中数字则表示其周围的8个方格隐藏了几颗雷,点开的数字是几,则说明该数字旁边的8个位置中有几个雷,如果挖开的是地则会输掉游戏,重新开始。原创 2023-02-28 22:46:42 · 37 阅读 · 0 评论 -
[C语言]三子棋
三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成。就视为胜利,而对方就算输了,但是三子棋在很多时候会出现和棋的局面。功能函数实现.c文件。原创 2023-02-27 16:43:50 · 35 阅读 · 0 评论 -
[C语言]求n的k次方
思路:求n的k次方我们可以转换为k个n相乘。原创 2023-02-24 23:56:50 · 457 阅读 · 0 评论 -
[C语言]求第n个斐波那契数
他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点于。指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89..从结果可以看到求斐波那契数20,斐波那契数3被调用了2584次,可见效率低。斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契(Leonardo。地区,莱昂纳多因此得以在一个阿拉伯老师的指导下研究数学。例:求第20个斐波那契数,查看递归调用斐波那契数3的次数。注:因为递归会反复调用,所以递归求斐波那契数效率低。),生于公元1170年,卒于1250年,籍贯是。原创 2023-02-23 18:38:31 · 179 阅读 · 0 评论