C
放肆青春的博客
www
展开
-
网易2017秋招笔试题3:最长公共子括号序列长度
【问题来源】网传的2017网易秋招笔试题【问题描述】 【算法思路】 下面的解题思路摘自 http://www.cnblogs.com/Atanisi/p/7500186.html刚看到题我就想到暴力解,深搜出所有合法的括号序列,再依次比较公共子序列的长度,返回最长的。但是深搜一般和路径有关,这道题仅仅需要最大公共子序列的长度。而我们发现最大公共子序转载 2017-10-11 12:59:14 · 887 阅读 · 0 评论 -
C语言中的getchar和putchar详解
原文地址:http://www.cnblogs.com/hdchild/archive/2009/11/19/1606457.html一、首先给出《The_C_Programming_Language》这本书中的例子:#include int main( ){int c;c = getchar();while (c != EOF){putchar();c转载 2017-10-10 13:05:14 · 1763 阅读 · 0 评论 -
C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strc转载 2017-10-10 13:02:34 · 221 阅读 · 0 评论 -
C语言运算符优先级列表(超详细)
本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明转载 2017-10-10 12:52:57 · 19096 阅读 · 0 评论 -
基于C语言EOF与getchar()的使用详解
希望本文可以对初学C的朋友提供一点帮助,也希望能和其他朋友进行交流。其中理解不对的地方若能得到指正和建议,本人将不胜感激大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(SecondEdition)第1.5节的字符输入/输出,被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和转载 2017-10-10 12:51:27 · 396 阅读 · 0 评论 -
C语言中取地址符&做函数形参?—— 引用的讨论
取地址符&做函数形参?C语言强大且危险引入这个问题花去了整整一天的研究。先看一段严蔚敏的《数据结构》中栈的例程:这里面的&S第一遍看的时候想当然的认为是取了SqStack结构体的S的地址,没有细想。然后又看到了这句。// platform: VC++6.0Status Pop(SqStack &S, SElemType &e); /转载 2017-09-13 16:45:48 · 20155 阅读 · 11 评论 -
c语言'\0','0',"0" ,0之间的区别
字符串常量是由一对双引号括起的一个或多个字符序列,如“0”和“search”;字符常量由单引号括起来的单个字符,'\0’和‘0’;字符常量可以像整数一样在程序中参与相关运算,在C语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节。第一个ASCII码,对是0,对应的字符是(Null),即‘\0’空字符。转载 2017-08-27 22:28:50 · 10517 阅读 · 2 评论 -
指针
一、指针1、指针的概念:用来保存地址的“变量”叫做指针,可以理解成指针是地址的一个别名。例:定义一个整形指针2、“指针的内容”,“指针所指向的内容”,“指针变量的地址” (1)、指针的内容: 指针变量p里面存放的是a的地址,也就是0x0018ff44. (2)、指针所指向的内容:转载 2017-06-04 15:47:04 · 403 阅读 · 0 评论 -
c语言<>和""的区别
使用""这种方式,会在当前的工程所在的文件夹开始寻找,也就是你的源程序所在的文件夹。原创 2017-06-29 11:06:09 · 1035 阅读 · 0 评论 -
c语言写的一些小程序
3.使用c语言编写程序,在屏幕打印 9 * 9乘法表 #include int main() { int i = 0; int j = 0; for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) //注意条件的判断 {转载 2017-05-21 17:31:14 · 5198 阅读 · 0 评论 -
结构体定义:struct与typedef struct 用法详解和用法小结
一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; typedef int ARRAY[10]; typedef (int*) pINT; typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。 二、#define的转载 2017-10-10 13:06:40 · 924 阅读 · 0 评论 -
ElemType是什么?
在定义结构体array的时候有这样一段:typedef struct { ElemType data[maxsize]; int length;}array;在《数据结构》中,关于数据元素的类型定义均用“ ElemType e;”来表示,其中e是表示数据元素的变量,而ElemType则是它的类型,ElemType的含义就是“数据元素的类型”,是一个抽转载 2017-10-10 13:22:00 · 27914 阅读 · 0 评论 -
2018网易笔试编程题----重排数列
题目 :小易有一个长度为N的正整数数列A = {A[1], A[2], A[3]..., A[N]}。牛博士给小易出了一个难题:对数列A进行重新排列,使数列A满足所有的A[i] * A[i + 1](1 ≤ i ≤ N - 1)都是4的倍数。小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。 输入描述:输入的第一行为数列的个数t(1 ≤ t ≤ 10),接转载 2017-10-11 12:51:22 · 913 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类...转载 2017-10-11 12:56:54 · 220 阅读 · 0 评论 -
C语言 sizeof函数详解
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎转载 2017-10-11 12:55:47 · 1326 阅读 · 0 评论 -
sizeof(类)
类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的。 用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。首先:我们要知道什么是类的实例化,所谓类的实例化就是在内存中分配一块地址用sizeof对类名操作,得到的结果是该类的对象在存储器中所占据的字节大小,由于静态成员变量不在对象中存储,因此这个结果等于各非静态数据成员(不包括成员函数)的总和加上编译器额外增加的转载 2017-10-11 12:54:06 · 996 阅读 · 0 评论 -
(网易2018校招笔试)[编程题] 游历魔法王国
题目:魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树。小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次。如果小易到达过某个城市就视为小易游历过这个城市了,小易现在要制定好的旅游计划使他能游历最多的城市,请你帮他计算一下他最多能游历过多少个城市(注意0号城市已经游历了,游历过的城市不重复计算)。转载 2017-10-10 22:43:04 · 512 阅读 · 0 评论 -
(网易2018校招笔试)[编程题] 相反数
题目:为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1. 输入描述:输入包括一个整数n,(1 ≤ n ≤ 1转载 2017-10-10 21:02:33 · 346 阅读 · 0 评论 -
(网易2018校招笔试)[编程题] 字符串碎片
题目:一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。输入描述:输入包括一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),s只含小写字母('a'-'z')输出描述:转载 2017-10-10 22:13:29 · 922 阅读 · 0 评论 -
(网易2018校招笔试)[编程题] 魔法币
题目:小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个转载 2017-10-10 20:58:19 · 831 阅读 · 0 评论 -
malloc函数详解
一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将转载 2017-10-10 13:25:55 · 738 阅读 · 0 评论 -
C语言学生信息管理系统(动态链表版)
大一上学期的期末作业,只记得当时弄了好长时间。在写代码的过程中,能发现很多问题,错误,折磨人的很。不过也确实学到了好多东西。这其中,有王瑶哥和菲菲姐的热心帮助。在此谢谢他们喽~当然,现在看来,代码还有很多可以优化的地方。本程序功能还算齐全,BUG还有待发现,没有包含输入检测机制。精力有限,后悔当年没有养成写注释的习惯,现在放在那里自己都不愿意看了,=_=! 等以后有机会用C++再写个吧。转载 2017-04-30 21:20:10 · 2102 阅读 · 0 评论 -
pta5-51 两个有序链表序列的合并(20分)
输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用-1?1表示序列的结尾(-1?1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10转载 2017-04-17 14:44:22 · 879 阅读 · 0 评论 -
5-7 12-24小时制(来自pta)
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。输出格式:在一行中输出这个时间翻译 2017-04-14 10:42:15 · 1781 阅读 · 0 评论 -
c语言心形告白
1.彩色告白#include#include#include#include#define U 0.1#define V 0.053void SetColor(unsigned short ForeColor,unsigned short BackGroundColor){ HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE); SetCons原创 2017-04-18 13:04:09 · 46056 阅读 · 7 评论 -
c语言实现字符串的逆序输出
#include#includemain(){ int i,j,t,n; char a[10]; printf("请输入字符串:"); gets(a); n=strlen(a); for(i=0;i<=n/2;i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; } for(j=0;j<n;j+原创 2017-04-18 12:29:39 · 53662 阅读 · 9 评论 -
c语言求三角形的面积及判断三角形类型
//==================//判断三角形的类型//==================#include #include void judge(int a, int b, int c){ float s, area; if (a + b > c && b + c > a && a + c > b) //两边之和大于第三边 { s = (a + b + c)原创 2017-04-18 12:14:25 · 9458 阅读 · 0 评论 -
c语言画出余弦曲线
#include#includemain(){ double y; int x, m; for (y = 1; y >= - 1; y -= 0.1) /*0到π,π到2π分别绘制21个点*/ { m = acos(y) *10; /*求出对应的横坐标位置*/ for (x = 1; x < m; x++)原创 2017-04-18 12:16:13 · 1415 阅读 · 1 评论 -
c语言求圆的周长和面积
#include main(){ float r,p=3.14159; double s,v; printf("输入半径r:"); scanf("%f",&r); s=4*p*r*r; printf("s=%0.2f\n",s); v=4*p*r*r*r/3.0; printf("v=%0.2f",v); }原创 2017-04-18 12:10:42 · 33908 阅读 · 4 评论 -
c语言求x的n次方
#includedouble power(double x,int n);main(){ double x; int n; printf("Input x,n:"); scanf("%lf,%d",&x,&n); printf("%.2lf",power(x,n)); }double power(double x,int n){ double a=1原创 2017-04-18 12:07:35 · 56889 阅读 · 6 评论 -
c语言求e的x次方
#include #include main(){ int x; double y; printf("Please input x:"); scanf("%d", &x); if (x > 0) { y = exp(x); } else if (x < 0) { y = exp(x); } else { printf(原创 2017-04-18 12:03:40 · 36625 阅读 · 2 评论 -
C语言求给定范围内的所有素数
问题描述求给定范围start〜end之间的所有素数。问题分析判定一个整数m是否为素数的关键就是要判定整数m能否被除1和它自身以外的任何其他整数所整除,若都不能整除,则m即为素数。本题求的是给定范围start〜end之间的所有素数,考虑到程序的通用性,需要从键盘上输入start和end值,例如输入start=1,end=1000,则所编写的程序应能够打印出1〜1000之间的所转载 2017-04-28 12:53:29 · 39092 阅读 · 7 评论 -
C语言实现万年历
#include #include #include #include typedef struct today { int day; int month; int year; } today; int day_cankao[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,3转载 2017-04-30 21:38:05 · 11576 阅读 · 3 评论 -
C语言实现推箱子游戏
纯C写的小游戏-----推箱子通过w,s,a,d实现上下左右的移动声明画图函数然后分别对移动位置进行情况判断:1.如果人前面是空地。2.如果人前面是目的地。3.如果人前面是箱子。有以下两种情况: ❶如果人前面是箱子,而箱子前面是空地。 ❷如果人的前面是箱子,而箱子前面是目的地。4.如果人前面是已经进入某目的地的箱子。有以下转载 2017-04-30 21:45:42 · 603 阅读 · 0 评论 -
C语言实现2048
本题目来自于一位去澳洲参加暑期交流的小朋友,为期一个多月的编程课程最后的Assignment就是用C语言在命令行中实现2048.具体要求:http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2360请仔细看完并下载课程最后提供的实现部分功能的源文件:2048.c本来以为需要考虑的部分很多,不过文档中已经帮我们梳理好转载 2017-05-04 21:01:52 · 2002 阅读 · 0 评论 -
C语言求回文素数
1.问题描述所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数为回文素数。对于偶数位的整数,除了11以外,都不存在回文素数。即所有的4位整数、6位整数、 8位整数…都不存在回文素数。下面列出两位和三位整数中包含的所有回文素数。两位回文素数:11三位回文素数:101、131、151、181、191、313、353、373、383、727、转载 2017-05-04 20:39:56 · 34356 阅读 · 4 评论 -
进制转换:二,八,十,十六进制互相转换
代码:#include#include#includevoid D_B(int);void D_O(int);void D_X(int);void B_D(int);void B_O(int);void B_X(int);void O_B(int);void O_D(int);void O_X(int);void X_B(char r[],int原创 2017-04-17 14:39:10 · 416 阅读 · 0 评论 -
pta 5-38 数列求和-加强版 (20分)
1.#include#define SIZE 1000000int max=1;//最大位数 void init(short int * in,int a,int b){ for(int i=0;i<b;i++){ in[i]=a; }}void k(short * in){ for(int i=SIZE-1;i>0;i--){ in[i]=in[i-1]; }原创 2017-04-17 14:37:26 · 703 阅读 · 0 评论 -
计算一个小于十的数的阶乘和
#includeint jiec(int n){ int S=0; int i,j,k=1;for(i=1;i<=n;i++) { for(j=1,k=1;j<=i;j++){ k=k*j; } S=S+k;}printf("%d",S);}int main(){ int m; printf("请输入一个小于10的数"); scanf("%d",&m) ; ji原创 2017-04-17 14:23:34 · 803 阅读 · 0 评论 -
1+2+...n的平方和
1.1+2+...n的平方和#includeint main(){ int f(int x); int n,sum; printf("请输入n值:"); scanf("%d",&n); sum=f(n); printf("%d\n",sum); return 0; } int f(int x){ int j,z=0; for(j=1;j<=x;j++) z=z+原创 2017-04-17 14:19:17 · 731 阅读 · 0 评论