![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 65
爱躺平的威威
Talk is cheap. Show me the code
展开
-
华为机试每日一练--第十二题: 查找组成一个偶数最接近的两个素数
问题描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。数据范围:输入的数据满足4 \le n \le 1000 \4≤n≤1000输入描述:输入一个大于2的偶数输出描述:从小到大输出两个素数代码实现#include<stdio.h>#include<math.h>int if_num(int n){ int num = 1; ...原创 2022-04-08 22:41:46 · 530 阅读 · 0 评论 -
华为机试每日一练--第十一题: 求int型正整数在内存中存储时1的个数
目录问题描述输入描述:输出描述:解题分析代码实现练习题入口问题描述入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。数据范围:保证在 32 位整型数字范围内输入描述:输入一个整数(int类型)输出描述:这个数转换成2进制后,输出1的个数解题分析解这道前为我们先要两节两个操作符">>"(右移操作符)"&"(按位与操作符)“>>”就是把一个数的二进制数向右移n位...原创 2022-04-07 22:15:10 · 214 阅读 · 0 评论 -
华为机试每日一练--第十题: 句子逆序
目录问题描述输入描述:输出描述:解题分析代码实现练习题入口问题描述将一个英文语句以单词为单位逆序排放。例如“Iamaboy”,逆序排放后为“boyaamI”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符数据范围:输入的字符串长度满足1≤n≤1000注意本题有多组输入输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子解题分析这道题跟...原创 2022-04-06 22:55:59 · 167 阅读 · 0 评论 -
华为机试每日一练--第九题: 字符串反转
目录问题描述输入描述:输出描述:解题分析代码实现问题描述接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)输入描述:输入一行,为一个只包含小写字母的字符串。输出描述:输出该字符串反转后的字符串。解题分析本题是要求实现字串翻转,在我们考虑如何翻转字符串问题之前,我们要先解决字符串的存储。如何解决呢?简单的方法就是用数组,用scanf能直接把字符串存储到数组中。接下来就是解决字符串翻转问题了,我们..原创 2022-04-05 22:39:58 · 496 阅读 · 0 评论 -
解决scanf无法完整获取带空格字符串问题
你还在发愁scanf("%s",xx)不能接受带空格字符串吗?本题提供两种方法解决,这两种肯定有一个适合你!原创 2022-04-04 00:22:43 · 2711 阅读 · 1 评论 -
【C库函数】memmove函数
memmove函数主要介绍函数原型参数讲解返回值讲解函数讲解原创 2022-04-03 19:31:28 · 2089 阅读 · 1 评论 -
模拟实现memmove函数(主要解决重叠拷贝问题)
解决重叠拷贝问题,完美实现memmove函数原创 2022-04-03 19:19:59 · 727 阅读 · 0 评论 -
【C语言】模拟实现memcpy库函数
库函数memcpy模拟实现,超详细原创 2022-04-03 12:09:26 · 2320 阅读 · 2 评论 -
【C库函数】memcpy函数详解
memcpy函数,拷贝内容到目标空间。比strncpy更加强大的函数原创 2022-04-03 11:00:53 · 44721 阅读 · 0 评论 -
华为机试每日一练--第八题: 取近似值
目录问题描述输入描述:输出描述:解题分析代码实现练习题入口问题描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值解题分析本题涉及到一个知识点,当一个浮点型数据赋值给整型数据时,只能把整数部分赋值给整型数据。如:flaot a=3.15;..原创 2022-04-02 15:58:23 · 476 阅读 · 0 评论 -
华为机试每日一练--第七题: 进制转换
目录问题描述输入描述:输出描述:解题分析代码实现练习题入口问题描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为22335)数据范围:1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×109+14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。解题分析 首先科普一下什么是质数的因子...原创 2022-04-02 11:24:41 · 229 阅读 · 0 评论 -
华为机试每日一练--第六题: 蛇形矩阵
目录问题描述输入描述:输出描述:代码实现练习题入口问题描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:136101525914481371211输入描述:输入正整数N(N不大于100)输出描述:输出一个N行的蛇形矩阵。代码实现#include<stdio.h>int main(){ int arr[100][10...原创 2022-04-01 23:36:05 · 213 阅读 · 0 评论 -
【C库函数】strerror函数详解
详解strerror库函数原创 2022-03-31 01:21:21 · 3828 阅读 · 0 评论 -
常用的字符函数和字符串函数汇总
总结一些大家平常在学C语言是常用的字符函数和字符串函数原创 2022-03-30 23:52:20 · 596 阅读 · 0 评论 -
【C语言】寻找两个‘单身狗’数
问题描述一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。解题分析在解这道题前,我想很多读者肯定见过这道题的简化版,“在一个数组中找出现次数为偶数次的数”。 而这道简化题是用异或来做的“^”(相同为0,相异为1)而这道题呢,有两个‘单身’的数字 ,所以不能直接对全体数字进行异或。假如“单身”的数字为5 和7,那么5和7异或后32为二进制中必定有1,如下图,5和7异或后第2位为1,所以5和7二进制数第2位二进制数不同!原创 2022-03-29 23:34:28 · 1159 阅读 · 0 评论 -
【C库函数】 strstr函数详解
详解strstr库函数原创 2022-03-28 23:07:33 · 3980 阅读 · 0 评论 -
【C语言】正确比较两个字符串
目录两种常见的错误比较方法(1)为什么两个字符串不能直接用大于小于号比较?(2)为什么不能用数组名直接比较字符串比较大小的实质两种比较字符串两种方法(1)难的方法(2)简单的方法两种常见的错误比较方法你还在用‘>’‘<’‘=’等比较字符串吗?事实上,用大于小于比较字符串的方法是不对的。我们看一下两种常见的错误方法#include<stdio.h>int main(){ char arr1[] = "abcdef"; char原创 2022-03-26 11:24:10 · 54106 阅读 · 6 评论 -
【C库函数】strncpy函数详解
详解strncpy函数原创 2022-03-25 13:31:30 · 9282 阅读 · 5 评论 -
【C库函数】strcmp函数详解
详解strcmp函数原创 2022-03-25 12:01:46 · 56191 阅读 · 5 评论 -
【C库函数】strcat函数详解
详解strcat函数原创 2022-03-25 10:23:00 · 22270 阅读 · 1 评论 -
大小端字节序详解
正确区分大小端字节序,手把手带你做大小端面试题。原创 2022-03-24 23:43:33 · 5952 阅读 · 2 评论 -
【C库函数】memcpy函数详解
详解memcpy函数原创 2022-03-23 23:41:24 · 8166 阅读 · 0 评论 -
华为机试每日一练--第五题: 进制转换
目录问题描述输入描述:输出描述:解题分析代码实现练习题入口问题描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在1≤n≤2^31−1输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。解题分析 本道题是十六进制转换传成十进制,所以会出现“ABCDEF”等字符来表示数字,现在难点就是如何把字符转换成数字?我们可以查看以下AS...原创 2022-03-22 22:54:31 · 813 阅读 · 2 评论 -
华为机试每日一练--第四题:字符串最后一个单词的长度
目录问题描述输入描述:输出描述:解题分析代码实现练习题入口问题描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。解题分析 本题有两个难点: 1、如何找到最后一个空格后单词 2、如果用户输入字符串中没有空格该如何判断 基于在这道...原创 2022-03-21 20:02:30 · 1350 阅读 · 2 评论 -
华为机试每日一练--第三题:字符串分隔
目录问题描述输入描述:输出描述:解题分析代码实现问题描述•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串解题分析 对于这道题,难点在于如何把字符串分割开来,同时还要判断是否长度小于8 我们可以采用递归的方法,每一次递归中值打印字符串前八个字符,同时把...原创 2022-03-21 11:34:45 · 142 阅读 · 2 评论 -
【C语言】模拟实现strcpy库函数
目录1、给模拟函数起个名字2、定义my_strcpy函数,并写出my_strcpy的原型3、实现my_strcpy函数功能完整实现代码如下大家在看本文之前如果还不了解strcpy函数的话可以参考一下我写的这篇博客:strcpy函数详解1、给模拟函数起个名字先给模拟实现的函数起个名吧,就叫my_strcpy然后创建一个字符型数组arr1(目标地址),再定义一个字符型指针arr2并指向字符常量“hello bit”,把arr1和arr2传给my_strcpy函数原创 2022-03-20 23:37:34 · 1035 阅读 · 1 评论 -
【C库函数】strcpy函数详解
详解strcpy函数原创 2022-03-20 21:12:10 · 6391 阅读 · 1 评论 -
【C语言】模拟实现strlen库函数
大家在看本文之前如果还不了解strlen函数的话可以参考一下我写的这篇博客:【C库函数】qsort函数详解1、给模拟函数起个名字先给模拟实现的函数起个名吧,就叫my_strlen然后创建一个字符型数组,把数组地址传给my_strlen,并用len变量接收my_strlen的返回值。int main(){ char str[] = "abcdef"; int len = my_srlen(str); printf("%d",len); retur.原创 2022-03-20 18:34:32 · 1020 阅读 · 0 评论 -
【C库函数】strlen函数详解
目录strlen函数基本原型参数解读返回值详解函数用法详解strlen获得字符串的长度(string length)函数基本原型size_t strlen( const char *string );参数解读参数 string 解释 要获取字符串长度的地址 返回值详解 返回的是size_t类型的值,size_t是无符号整数,这里要注意如果用返回值进行减法运算的话可能会出错以下列代码为...原创 2022-03-20 17:40:28 · 5260 阅读 · 0 评论 -
【C库函数】fgets详解
目录fgets函数基本原型参数讲解返回值函数详解fgets 是一个可以从标准流中获取字符串的函数函数基本原型char *fgets( char *string, int n, FILE *stream );参数讲解参数 string n stream 解释 存储字符串的位置 存储字符串的最大个数(n-1) 指向读取的流 stream在使用中一般会写为stdin,意为标准输入流(sta...原创 2022-03-19 12:22:25 · 8547 阅读 · 5 评论 -
【C库函数】qsort函数详解
qsort函数是基于快速排序算法实现的一个排序函数函数基本原型 void qsort( void *base, size_t num, size_t width, int (*cmp)(const void *elem1, const void *elem2 ) //函数指针 );参数解...原创 2022-03-17 14:00:21 · 1819 阅读 · 2 评论 -
华为机试每日一练——第二题:密码验证合格程序
问题描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有长度大于2的不含公共元素的子串重复 (注:其他符号不含空格或换行)数据范围:输入的字符串长度满足1≤n≤100输入:一组字符串。输出:如果符合要求输出:OK,否则输出NG#include<stdio.h>#include<string.h>int main(){ char str[100]; while (...原创 2022-03-16 23:51:57 · 3329 阅读 · 10 评论 -
华为机试每日一练——第一题:明明的随机数
明明的随机数问题描述明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1 ≤n ≤1000,输入的数字大小满足 1 ≤ n ≤ 500输入描述:第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。输出描述:输出多行,表示输入数据处理后的结果#include<...原创 2022-03-16 10:38:15 · 2289 阅读 · 0 评论 -
【C语言】BC98 序列中删除指定数字题解
目录问题描述解题分析问题描述有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。数据范围:序列长度和序列中的值都满足1 \le n \le 501≤n≤50输入:第一行输入一个整数(0≤N≤50)。第二行输入N个整数,输入用空格分隔的N个整数。第三行输入想要进行删除的一个整数。输出:输出为一行,删除指定数字之后的序列。解题分析: 这道题难点就是...原创 2022-03-14 22:00:47 · 1021 阅读 · 0 评论 -
【C语言】BC68 X形图案题解
问题描述KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。输入:多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。输出:针对每行输入,输出用“*”组成的X形图案。解题方法1:本题的难点是‘*’和‘空格’是随着行数变化移动的,并打印了n行。 同时当输入n为偶数和奇数时,打印效果也不一样,当n为偶数时,打印到(n/2)行和((n/2)+1)行为‘**’...原创 2022-03-14 21:46:27 · 694 阅读 · 0 评论 -
【C语言】调整奇数偶数顺序
内容:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。解题思路:一般情况下数组中可能是奇偶交替,而题目中让我们把奇数全部挪到数组的前面,偶数全部挪到数组的后面。我们可以先从前往后找,碰到偶数停下。(如下图)接下来我们从后往前找,碰到奇数停下。 当前后分别停下时,交换...原创 2022-03-11 02:32:16 · 995 阅读 · 1 评论 -
【C语言走进现实】猜名次
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。我们先把这几个人说的话转换成计算机语言A选手说:B第二,我第三; b == 2 a == 3B选手说:我第二,E第四; b == 2 e == 4C选手说:我第一,D第二; c == 1 d == 2D选手说...原创 2022-03-11 02:12:14 · 227 阅读 · 0 评论 -
【C语言走进现实】猜凶手
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。我相信大家肯定在做数学卷子时碰见过这道题,而大家一般的解题思路就是分析假设(如下)当A是凶手时:A说的是假话、B说的是假话、C说的是假话、D说的是真话当B是凶手时:A说的是真话、B说的是...原创 2022-03-11 02:04:23 · 604 阅读 · 0 评论 -
【C语言】打印杨辉三角
杨辉三角(也称帕斯卡三角)相信很多人都不陌生,它是一个无限对称的数字金字塔,从顶部的单个1开始,下面一行中的每个数字都是上面两个数字的和。“杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623—-1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。就是这个看上去平平无奇的数字三角形,却有一些非常奇妙甚至是神秘的特性。杨辉三角的两条..原创 2022-03-11 01:47:40 · 2481 阅读 · 0 评论 -
BC35 判断字母题解
BC35判断字母描述从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。输入描述:输入包括一个字符。输出描述:输出该字符是字母(YES)或不是(NO)。 本题的难点就是如何处理掉'\n' 思路:在代码最后用getchar处理掉'\n'getcahr具体用法代码如下:#include <stdio.h> int main(){ int ch = 0; while((ch=get...原创 2022-03-03 02:52:06 · 411 阅读 · 1 评论