- 博客(27)
- 问答 (1)
- 收藏
- 关注
原创 某月某日这种日期表示形式转换成某年中第几天的表示形式及相反的问题。
/* 某月某日这种日期表示形式转换成某年中第几天的表示形式及相反的问题。 */#include <stdio.h>#include <stdlib.h>int month_to_day(int year, int month, int day, int a[][13]);//某月某日转换成第几天void date_to_month(int year, int da...
2019-03-14 23:00:24
3123
原创 已有a、b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。
/* 已有a、b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。 */#include <stdio.h>#include <stdlib.h>typedef struct student{//链表结点 int ID; int score; struct student *next;//前指向 struct studen...
2019-03-14 02:26:37
4704
1
原创 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束。然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1。
#include <stdio.h>#include <stdlib.h>/* 伪双向链表 */typedef struct _data{ int value; struct _data *next;//前指向 struct _data *back;//后指向} Data;typedef struct _list{ Data *head;//头结点...
2019-03-12 23:58:43
3408
3
原创 链表的创建,搜索,删除,释放
#include <stdio.h>#include <stdlib.h>/* 创建一个长度为N的链表 *///链表的存储模型typedef struct creation{ int value; struct creation *next;} creat;//保存链表的头尾结点typedef struct _list{ creat *head...
2019-03-12 19:08:44
428
1
原创 可变数组
#include <stdio.h>#include <stdlib.h>#include <string.h>#define BLOCK_SIZE 20//每次数组满时,补增多少空间typedef struct { int *array; int size;} Array;Array array_create(int init_size)...
2019-03-12 02:14:29
2753
原创 链表 添加链表、搜索链表、删除链表
#include <stdio.h>#include <stdlib.h>/* 利用可变数组的思想:Linked Block 当中不用copy value *//* 可变数组的缺陷:1.新申请空间,然后往新空间赋值数据花费时间;2.数组增长时,可能遇见内存限制 *//* 单向链表思想:指针->头节点(数据+指针)->节点(数据+指针)->节点(数据...
2019-03-12 02:09:19
3020
原创 /* 你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的。 你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果
/* 你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的。你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果找不到,则输出-1。 */#include <stdio.h>#include <string.h>#define MAXZISE 10000int pos( char...
2019-03-10 18:05:45
3400
4
原创 第五章 :指针与数组
1.合法的指针运算包括:a.相同类型指针之间的赋值;b.指针之间或指针与整型之间的加法或减法运算;c.加或比较两个指向相同数组元素的指针;d.指针与0之间的赋值或比较运算。e.注意void *通用类型指针,可以不通过转换相互赋值。...
2019-03-09 20:20:55
224
原创 命令行变元
int main( int argc , char *argv [ ] ){}argc : arguments counter / 整数,用来统计运行程序时送给main函数的命令行参数的个数;argv : argumengts vector /指针数组,用来存放指向字符串的指针,每一个元素指向一个参数;c语言规定:argv[ 0 ]的值为调用相应程序的命令名,故argc的值至少为1....
2019-03-08 20:19:51
349
原创 练习5-5 实现库函数s t r n c p y、s t r n c a t和s t r n c m p,它们最多对变元字符串的前 n个字符进行 操作。例如,函数strncpy(s, t, n)将t所
/* 实现库函数strmcpy、strmcat和strmcmp,它们最多对变元字符串的前 m个字符进行操作。例如,函数strmcpy(s, t, m)将t所指向字符串中最多前m个字符复制到s所指向的字符数组中。 */#include <stdio.h>/* strmcpy:将字符串t中的前m个字符复制到字符串s中 */void strmcpy( char *s , char ...
2019-03-08 17:31:22
532
原创 练习5-4 编写函数strend (s, t): 如果字符串t出现在字符串s的尾部,则返回1;否则返回0
/* 编写函数strend (s, t): 如果字符串t出现在字符串s的尾部,则返回1;否则返回0。 */#include <stdio.h>int strend(char *s , char *t ){ char *a = s; char *b = t;//记录两个指针的初始位置 while ( *s ) s++; while (...
2019-03-08 16:35:26
3319
原创 寄存器变量
register用于提醒编译器要使用的变量在程序中使用的频率很高。本质上是将说明的变量存储在寄存器中,使程序可以更小,执行速度更快。说明例:register int i;register char c;register说明只适用于局部变量和函数的形参。f (register unsigned m , register unsigned n){ register int i ;}...
2019-03-05 22:17:42
1212
原创 静态变量
1.static说明适用于外部变量和函数,用于把这些对象的作用域限定为被编译源文件的剩余部分。可以在通常的说明之前前缀以关键词static来指定静态存储,使得变量可以被A函数调用,但不能被调用A函数的B函数访问。这样用static说明的变量就不会和同一程序中其他文件中的同名名字相冲突。static也可以用于说明函数。如果一个函数被说明为静态的,那么该函数名字就不能出现除该函数说明所在的文件之...
2019-03-05 21:52:27
2427
原创 练习4 - 3 在有了基本框架后,对计算器程序进行扩充就比较简单了。在该程序中加入取模 (%)运算符并注意负数的情况
#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <math.h>#define MAXOP 100 //操作数或运算符大小#define NUMBER '0'//表示找到数的信号#define MAXVAL 100//栈VAL的最大深度#define BU...
2019-03-04 22:01:41
1194
原创 对a t o f函数进行扩充,使之可以处理形如 123.45e-6 一类的科学表示法,即在浮点数后跟 e或E与一个(可能有正负号的)指数。
#include <stdio.h>#include <math.h>#include <ctype.h>double ctof (char s[] );double ctof ( char s[] ){ double sign1 ,vall,valr,power,sign2; int i = 0; sign1 = 0;//记录正数还是负数...
2019-03-04 18:13:06
2628
原创 字符串转化成浮点型
#include <stdio.h>#include <ctype.h>/* 把字符串s转换成相应的双精度浮点数 *//* int isspace(char a); */double atof ( char s[] );/* int isdigit (char a); */double atof ( char s[] ){ double val , powe...
2019-03-04 00:45:47
8964
1
原创 练习4-1 编写一个函数strrindex(s, t),用于返回字符串t在s中最右出现的位置,如果 s中不 包含t,那么返回-1。
#include <stdio.h>#include <string.h>int strrindex (char s[] , char t[] ){ int i , j , k; int len = strlen ( s ) ; for ( i = len - 1 ; i >= 0 ; i--){ for ( j = i ,...
2019-03-03 23:45:04
5726
原创 修改i t o a函数使之改为接收三个变元。第三个变元是最小域宽。为了保证转换得 的数(即字符串表示的数)有足够的宽度,在必要时应在数的左边补上一定的空格。
#include <stdio.h>#include <string.h>/* 修改itoa函数使之改为接收三个变元。第三个变元是最小域宽。为了保证转换得的数(即字符串表示的数)有足够的宽度,在必要时应在数的左边补上一定的空格。 */void itoa (int n ,char s[] , int b);void reverse (char s[]);voi...
2019-03-03 21:56:06
330
原创 练习3-5 编写函数itob(n, s, b),用于把整数n转换成以b为基的字符串并存到字符串 c中。特 别地,itob(n, s, 16)用于把n格式化成十六进制整数字符串并存在 s中。
#include <stdio.h>#include <string.h>void reverse (char s[]);void itob (int n,char s[],int b);void itob (int n,char s[],int b){//N位一个整数,转换成B进制的字符串,存入字符串S中 int i,j,sign; if ( ...
2019-03-03 19:30:08
6816
原创 C程序设计语言 课后练习1.6
#include <stdio.h>#define MAXWORD 127int main(){ int c,i,wc1,code; int wc[MAXWORD]={0}; code=c=i=wc1=0; while ( (c=getchar()) != EOF){ if( c== ' ' || c=='\t' || c=='\n') ...
2019-02-26 23:17:37
285
翻译 C程序设计语言课后练习1.6.1
#include <stdio.h>#define MAXWORD 15#define IN 1#define OUT 0int main(){ int c; int i=0,len=0,nc=0;//NC用于记录单词的长度。 int wordlength[MAXWORD]={0};//将输入的单词长度记录在此数组中 int state=OUT; //用于记录是不是一...
2019-02-26 22:51:14
280
转载 2.1补码详解
补码定义:计算机中二进制形式的补数。这个定义是比较抽象的,下面我将举一些实际的例子来解释。二进制形式:就是0和1组成的串,例如数字3的二进制形式是11,数字-9的二进制形式是11001。补数:初中时我们学过互补角,两个角加起来等于180度,则称两个角互补。在日常生活中,将某物体顺时针旋转270度和逆时针旋转90度能达到同样的效果,把时钟里的分钟顺时针调整40分钟和逆时针调整20分钟,分针最后...
2019-02-21 22:03:03
1189
原创 2.二进制数据
1.计算机是由集成电路构成,高电平表示“1”,低电平表示“0”.2.二进制值可以表示字符,图片,视频,音频等。3.二进制和十进制的转换:0:0 1:1 2:10 3:11 4:100 5:101 6:110 7:111 8:1000 9:1001 10:101011:1011 12:1100 13:1101 14:1110 15:1111 16:100004. 二进制的运算: ...
2019-02-21 21:52:45
1074
翻译 1.程序与CPU
1.代码->EXE->加载->CPU2.CPU包含:寄存器,控制器,计算器,时钟(GHz)3.寄存器:累加寄存器;标志寄存器;程序计数器;基址;变址;通用寄存器;指令寄存器;栈...
2019-02-21 18:17:08
244
原创 Q-1:定义结构体,存储学生学号和三门课成绩及平均分,初始化成绩如下{{1,90,80,70},{2,85,75,95},{3,88,84,65}},输入学号,输出平均分,输入max,输出最高分id。
题目内容:定义结构体,存储学生学号和三门课成绩及平均分,初始化成绩如下{{1,90,80,70},{2,85,75,95},{3,88,84,65}},输入学号,输出平均分,输入max,输出最高分id。输入格式:输入学号或max输出格式:输出平均分或最高分id输入样例1:1[回车]输出样例1:80[回车]输入样例2:max[回车]输出样例2:2[回车]输入样例3:...
2019-02-21 18:01:53
4665
转载 1.指针和数组
C语言中由于指针的灵活性,导致指针能代替数组使用,或者混合使用,这些导致了许多指针和数组的迷惑,因此,刻意再次深入探究了指针和数组这玩意儿,其他类型的数组比较简单,容易混淆的是字符数组和字符指针这两个。。。下面就开始剖析一下这两位的恩怨情仇。。。 1 数组的本质数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。。2 指针。指针也是一种变量,只不过它...
2019-02-21 14:45:37
172
空空如也
这份写法错在哪里?郁闷了
2019-02-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人