c语言
叶子一哥
好好学习,天天向上
展开
-
LeetCode 27. 移除元素--c语言实现
给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两...原创 2019-12-06 20:44:55 · 375 阅读 · 0 评论 -
LeetCode 13. 罗马数字转整数--c语言实现
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。1...转载 2019-12-06 20:35:36 · 576 阅读 · 1 评论 -
LeetCode 206. 反转链表--c语言实现
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著...原创 2019-12-01 20:49:01 · 573 阅读 · 0 评论 -
LeetCode 283. 移动零--c语言实现
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。...原创 2019-12-01 20:30:15 · 549 阅读 · 0 评论 -
LeetCode 461. 汉明距离--c语言实现
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。来源:力扣(LeetCode)...原创 2019-12-01 20:18:11 · 533 阅读 · 0 评论 -
LeetCode 448. 找到所有数组中消失的数字--c语言实现
给定一个范围在1 ≤ a[i] ≤ n (n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]来源:力扣(Le...原创 2019-12-01 20:04:46 · 464 阅读 · 1 评论 -
LeetCode 160. 相交链表--c语言实现
编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 ...原创 2019-12-01 19:35:13 · 409 阅读 · 0 评论 -
LeetCode 657. 机器人能否返回原点--c语言实现
在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器...原创 2019-12-01 11:07:33 · 252 阅读 · 0 评论 -
LeetCode 226. 翻转二叉树--c语言实现
翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时...原创 2019-12-01 10:52:07 · 288 阅读 · 0 评论 -
LeetCode 9. 回文数--c语言实现
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。来源:...原创 2019-12-01 10:36:51 · 557 阅读 · 0 评论 -
LeetCode 7. 整数反转--c语言实现
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣(Lee...原创 2019-12-01 10:29:20 · 516 阅读 · 0 评论 -
LeetCode 1. 两数之和--c语言实现
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(...原创 2019-11-24 09:53:10 · 875 阅读 · 0 评论 -
字符串大写转小写
/*功能:将输入的字符串中英文大写字母改成对应小写字母,并且过滤掉非英文字母字符 输入:字符串 输出:结果字符串,保证输出地址有效。 返回:0表示成功,其它返回-1例如1:输入:ABC输出:abc 例如2:输入:AbC输出:abc */#include #include #include原创 2014-03-01 01:10:23 · 7992 阅读 · 0 评论 -
用C语言来验证哥德巴赫猜想(定义的是int型)
哥德巴赫猜想:如果任意一个大于6的偶数都可以写成两个素数之和。原创 2014-05-05 21:21:44 · 32930 阅读 · 0 评论 -
for循环的简介及break和continue的区别
1.for循环for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环、do-while循环。for循环的格式为:for( 初始语句 ; 执行条件 ; 增量 ){循环体}执行顺序:1、初始语句 2、执行条件是否符合? 3、循环体 4、增加增量 初始化语句只在循环开始前执行一次,每次执行循原创 2013-12-14 01:58:46 · 220974 阅读 · 9 评论 -
挑7
/*描述: 输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数 题目类别: 循环 难度: 初级 运行时间限制: 无限制内存限制: 无限制阶段: 入职前练习 输入: 一个正整数N。(N不大于30000) 输出: 不大于N的与7有关的数字个数,例如输入20,与7有关的原创 2014-03-03 21:26:32 · 2406 阅读 · 0 评论 -
阿姆斯特朗数
/*功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数阿姆斯特朗数:如果一个正整数等于其各个数字的立方和, 则该数称为阿姆斯特朗数(亦称为自恋性数),1除外, 如407 = 4^3+0^3+7^3就是一个阿姆斯特朗数。原型: int CalcArmstrongNumber(int n);输入参数: int n: n ≤ 6553原创 2014-03-01 02:07:53 · 9901 阅读 · 0 评论 -
构建静态链表
#include#include//定义一个结构体里面包含 学号 姓名 地址struct student{int num;char name[20];struct student * next;};main(){struct student stu[3];struct student * head,*p;stu[0].num=00原创 2013-08-27 19:33:23 · 821 阅读 · 0 评论 -
判断一个数是不是水仙花数
// 功能:判断输入 nValue 是否为水仙花数// 输入: nValue为正整数// 输出:无// 返回:如果输入为水仙花数,返回1,否则返回0// 例如:输入153会返回1#include #include unsigned int IsDaffodilNum(unsigned int nValue){ unsigned int Value=nV原创 2014-02-28 14:08:25 · 9284 阅读 · 0 评论 -
结构体在内存中的对齐规则
一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和。例一: #include using namespace std;转载 2014-05-08 23:57:08 · 932 阅读 · 0 评论 -
C语言统计一个字符串中单词的个数
假定每个单词用空格隔开。例子:输入:how are you!输出:3两种方法:一:#include #include #define SIZE 20int main(){ char str[SIZE]={'\0'}; int count=0; printf("please input the string\n"); gets(str); put原创 2014-05-24 01:59:28 · 64734 阅读 · 8 评论 -
C语言将10进制转为2进制
第一种方法:#includevoid dectobin(int n);int main(){ int x=0; scanf("%d",&x);//只能正数 dectobin(x); printf("\n"); return 0;}void dectobin(int n){ if(n/2>0) { dectobin(n原创 2014-05-24 02:45:29 · 25801 阅读 · 2 评论 -
查看一个数是不是2的n次方
查看一个数是不是2的n次幂。快速方法int CheckPow2(int num){ if (num return ERROR; if (0 == (num & (num - 1))) return SUCESS; else return FALURE;}不就是除原创 2013-10-08 12:14:01 · 1500 阅读 · 1 评论 -
c语言快速判断一个数是偶数还是奇数
#include int main(){ int a; while(1) { printf("please input the number:\n"); scanf("%d",&a); if(a&1) { printf("%d是奇数\n",a); } else { printf("%d是偶数\n",a); } } return 0;}这原创 2014-05-24 01:49:38 · 11813 阅读 · 1 评论 -
字节对齐
若是在32bit机器上,使用gcc编译器,得到的sizeof(A)和sizeof(B)分别为多少?class A{ int a; short b; int c; char d;};class B{ double a; short b; int c; char d;};我个人的理解的对齐原创 2015-04-06 13:29:33 · 1250 阅读 · 0 评论 -
c语言获取当前可执行文件的执行路径个文件名
#include#include#include/***函数功能:获取当前可执行文件的执行路径个文件名** 入参:processdir 存放可执行文件路径** 入参:processname 存放可执行文件名字** 入参:len 入参:processdir的长度** 返回值:可执行路径的长度*/int get_executable_path( char* pr原创 2015-10-21 10:47:04 · 7153 阅读 · 0 评论 -
字符编码
1、ASCII ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号,python2.x解释器默认是ASCII编码。原创 2017-10-08 20:23:34 · 461 阅读 · 0 评论 -
#ifndef/#define/#endif使用详解
想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入#ifndef/#define/#endif 这些代码? 其实“被重复引用”是指一个头文件在同一个cpp文件中原创 2014-01-09 22:22:33 · 163249 阅读 · 38 评论 -
c语言插入排序表
#include #define MAX 255int R[MAX];void Insert_Sort(int n){ /* 对数组R中的记录R[1..n]按递增序进行插入排序 */ int i,j; for(i=2;i if(R[i] {/* 若R[i]大于等于有序区中所有的R,则R[i] */原创 2013-09-13 14:30:03 · 973 阅读 · 0 评论 -
链表的新建和输出
#include#includestruct Student{ long num; float score; struct Student * next;};int n;struct Student * creat(){ struct Student * head; struct Student * p1,*p2; p1=p2=(struct S原创 2013-08-27 20:36:22 · 850 阅读 · 0 评论 -
上楼梯问题
//爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,//则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,//则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,//最后才正好一阶不剩。请问这条阶梯共有多少阶?// 功能:计算满足条件的楼梯的长度// 输入: 无// 输出:无// 返回: 无#include #include原创 2014-02-28 14:39:10 · 3415 阅读 · 0 评论 -
奖金提成
/*功能: 企业发放的奖金根据利润提成。 利润低于或等于100000元的,奖金可提10%; 利润高于100000元,低于200000元(100000 低于100000元的部分按10%提成; 高于100000元的部分,可提成 7.5%; 200000 高于200000元的部分按5%提成; 400000 600000 I>1000000时,超过100原创 2014-02-28 10:11:17 · 3570 阅读 · 0 评论 -
C Primer读书笔记第二章
1.程序是有一个或多个函数构成的,其中必须有一个main()函数。2.函数函数头和函数体组成 函数头包括预处理语句(如#include)和函数名 函数体位于花括号中并由一序列语句构成,每个语句以一个分号结束。3.一个简单c程序的架构函数头#include 预处理指令int main() 函数名函数体{ int a;//声明语句 a=1;//赋值语句 pr原创 2013-10-05 23:47:35 · 1202 阅读 · 0 评论 -
c语言六种位操作详解
C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 左移 >> 右移1.1按位与运算按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,原创 2013-09-19 10:39:08 · 2248 阅读 · 0 评论 -
c语言define的用法
1、#define的简单定义作用#define相当于一个简单的文本替换,对于普通的常量定义,我就不必多说了,但是对于类似于函数定义的形式,可能会出现错误,例如:#define Add(x,y) x+y用到代码中时会出现问题,比如计算式子c*Add(x,y)*d,本意是计算出x与y的和之后在分别与c,d做乘积,可是因为#define仅仅相当于一个简单的文本替换,所以真实的计算原创 2013-09-19 00:44:59 · 7732 阅读 · 0 评论 -
c primer读书笔记 第一章
1.就编程语言而言,可移植性代表什么?答:可移植性意味着这个语言在一个系统上所编辑的可运行的程序在另外一个系统上不用改或是只需改一点点就能运行2.什么是编译器答:编译器就是将高级语言程序(如c、c++、java等)解释成计算机所需的详细机器语言的程序3.使用c语言的7个步骤:答: 1.定义程序目标 2.设计程序3.编写代码原创 2013-10-03 00:44:53 · 1830 阅读 · 0 评论 -
c语言 输出不同类型所占的字节数
/* 输出不同类型所占的字节数*/#include void main(){ /* sizeof()是保留字,它的作用是求某类型或某变量类型的字节数, */ /* 括号中可以是类型保留字或变量。*/ /*int型在不同的机器,不同的编译器中的字节数不一样,*/ /*一般来说在TC2.0编译器中字节数为2,在VC编译器中字节数为4 */原创 2013-09-11 00:30:01 · 7524 阅读 · 0 评论 -
c语言自增/自减运算
#include main(){ int a=5,b,c,i=10;//定义a,b,c,i的值 b=a++;//b等于a,a在++ b=5,a=6 c=++b;//c等于b+1,c=b=6 printf("a = %d, b = %d, c = %d\n",a,b,c); printf("i,i++,i++ = %d,%d,%d\n",i,i++,i++); /原创 2013-09-11 16:01:37 · 1323 阅读 · 0 评论 -
c语言 输入两个浮点数,输出它们中的大数
/* 输入两个浮点数,输出它们中的大数 */#include main(){ float x,y,c; /* 变量定义 */ printf("Please input x and y:\n"); /* 提示用户输入数据 */ scanf("%f%f",&x,&y); c=x>y?x:y; /* 计算c=max(x,y) */ printf("MAX of原创 2013-09-10 22:06:21 · 6615 阅读 · 0 评论 -
c语言将十六进制转为十进制
#includelong fun(char*s);#define N 50 void main() { long m; char s[N]; while(1) { printf("输入十六进制数:"); scanf("%s",s); m=fun(s); printf("十进制数为:%ld\n",m); } }原创 2013-09-10 14:25:50 · 10908 阅读 · 3 评论