![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 71
梦醒已隔万重秋
那些年,千万情话,落笔生花;再看她,无限相思,流转天涯
展开
-
双链表
/*双链表求表长,按位查找,按值查找,遍历等与单链表类似*///存储结构定义typedef int DataType;typedef struct DulNode{ DataType data; //data为数据域 struct DulNode *prior,*next; //prior为前驱指针域,原创 2017-06-15 17:08:38 · 245 阅读 · 0 评论 -
链队列的链接存储结构及实现
/*队列的链接存储结构及实现*///链队列的存储结构typedef int DataType;typedef struct Node{ DataType data; Node *next;}Node;typedef struct //定义链队列{ Node *front,*cear;}LinkQueue;原创 2017-06-20 21:48:33 · 1231 阅读 · 0 评论 -
循环队列的顺序存储结构及实现
/*循环队列的顺序存储结构及实现*///存储结构定义const int QueueSize = 10; //定义数组最大长度typedef int DataType;typedef struct{ DataType data[QueueSize]; //存放队列元素数组 int front,rear;原创 2017-06-20 14:43:05 · 668 阅读 · 0 评论 -
栈的链接存储结构及实现
/*栈的链接存储结构及实现*///初始化栈void InitStack(Node *top){ top = NULL;}//入栈操作void Push(Node *top,DataType x){ s = (Node)malloc(sizeof(Node)); s->data = s; s->next = top;原创 2017-06-19 20:12:11 · 530 阅读 · 0 评论 -
读取文件内容
/*读取文件内容*/#include #include #define N 30typedef struct date_order{ int year; int month; int day;}DATE;typedef struct student{ long studentID;原创 2017-06-07 23:41:32 · 270 阅读 · 0 评论 -
C语言文件操做
/*************文件操作按字符读写文件***************/#include #include int main(){ FILE *fp; char ch; if((fp = fopen("demo.txt","w")) == NULL) //判断文件是否成功打开 {原创 2017-06-02 20:59:16 · 429 阅读 · 0 评论 -
两栈共享空间
/*两栈共享空间*///存储结构定义const int StackSize = 10;typedef int DataType;typedef struct{ DataType data[StackSize]; int top1,top2; //分别为各自栈顶元素在数组中的下标}BothStack;//入栈操原创 2017-06-18 20:09:09 · 349 阅读 · 0 评论 -
栈的顺序存储结构及实现
/*栈的顺序存储结构及实现*///顺序栈的存储结构定义const int StackSize = 10; //栈元素最多10个typedef int DataType; //DataType为栈元素的数据类型typedef struct{ DataType data[StackSize]; //存放栈元素的数组原创 2017-06-18 14:45:49 · 591 阅读 · 0 评论 -
按格式读写文件 小实例
/************计算平均分,并写到文本中*************#include #include #define N 30typedef struct date_order{ int year; int month; int day;}DATE;typedef struct student{原创 2017-06-06 23:00:41 · 324 阅读 · 0 评论 -
一元多项式求和的实现
/*一元多项式求和例:A(x)=7*12x^2-2x^8+5x^12 ,B(x)=4x+6x^3+2x^8+5x^20+7x^28,求A(x)+B(x)把系数指数依次输入,输入 0 0 结束*/#include #include //实现动态存储分配typedef struct Node //定义单链表结点{原创 2017-06-17 21:31:53 · 921 阅读 · 0 评论 -
向链表添加节点数据
/**************向链表添加节点数据*************/#include #include struct link{ int data; struct link *next;};//新建一个节点并添加到链表末尾,返回添加节点后的链表头指针struct link *AppendNode(struct link *原创 2017-06-01 21:38:35 · 4385 阅读 · 1 评论 -
约瑟夫环问题
/*约瑟夫环问题*///一圈共有N个人,开始报数,报到M的人自杀,然后重新开始报数,问最后自杀的人是谁?#include #include typedef struct Node{ int data; struct Node *next;}Node;Node *Great(int n){ Node *rear = NULL,*s;原创 2017-06-16 16:58:48 · 240 阅读 · 0 评论 -
文件操作---录入成绩并计算均分,写到文件中,打印到屏幕上
#include #include #define N 30typedef struct data{ int year; int month; int day;}DATE;typedef struct student{ long studentID; char studentName[10]; char原创 2017-06-09 14:23:57 · 756 阅读 · 0 评论 -
括号匹配问题
/*括号匹配问题:判断一个算数表达式中的括号有没有正确匹配,如多一个左括号或者右括号*/#includeint Match(char *str){ char s[100]; int i,top = -1; for(i = 0;str[i] != '\0';i++) { if(str[i] == ')')原创 2017-06-21 20:27:32 · 230 阅读 · 0 评论 -
单链表
/*单链表*///储存结构定义typedef int DataType;typedef struct Node{ DataType data; Node *next; Node *first; //指向链表头指针}//初始化单链表Node *InitList(Node *first){ first原创 2017-06-14 21:07:01 · 264 阅读 · 0 评论 -
线性表--顺序表的实现
/*顺序表*///存储结构定义const int MaxSize = 10; //最多存放10个元素typedef int DataType; //数据类型typedef struct{ DataType data[MaxSize]; //存放数据元素数组 int length; /原创 2017-06-14 14:45:00 · 251 阅读 · 0 评论 -
多维数组------八皇后问题
/*八皇后问题在8*8的棋盘上摆放8个皇后,不能处于一排一列或者一斜线上,,使其不能相互攻击*/#include #include //使用绝对值函数asbconst int N = 100; //最多求100皇后问题int x[N] = {-1}; //数组初始化为-1int Place(int k)原创 2017-06-25 14:29:52 · 352 阅读 · 0 评论 -
字符串处理
将下标为偶数的字符变成大写#include #include #define MAX 100void fun(char s[]){ int i,len; len = strlen(s); for(i=1;i { if(s[i]>='a' && s[i] { s[i] -=原创 2017-07-04 15:04:19 · 184 阅读 · 0 评论 -
发纸牌问题---多维数组
/*纸牌有四种花色,13个点数,如何随机发几张纸牌???*/#include #include //使用库函数srand和rand#include //使用库函数time#include //使用库函数strcpy和stract#include //使用malloc等库函数实现动态存储原创 2017-06-24 21:56:50 · 613 阅读 · 0 评论 -
医院选址问题
/*医院选址问题在五个村庄之中选一个建立医院,要求各个村庄往返路程越短越好,最好应该选在何处有向网的邻接矩阵0 13 M 4 M13 0 15 M 5M M 0 12 M4 M 12 0 MM M 6 3 0*/#includeconst int N = 5;const int MaxValue原创 2017-07-03 10:46:39 · 4553 阅读 · 1 评论 -
算术表达式求值
计算3*(4+2)/2-5的值#include #include int Comp(char str1,char str2);int Compute(char *str);int Comp(char str1,char str2){ switch(str1) { case '+': case '-'原创 2017-06-22 20:47:57 · 727 阅读 · 0 评论 -
七巧板问题及 fatal error LNK1168: cannot open Debug/5.exe for writing报错
#include const int N = 7; //定义七个区域int main(){ char board[N] = {'A','B','C','D','E','F','G'}; int arc [N][N] = {{0,1,0,0,1,1,0},{1,0,1,1,0,0,0},{0,1,0,1,0,0,0}, {0,1,原创 2017-07-02 17:27:11 · 3801 阅读 · 0 评论 -
哈夫曼树
#include const int n = 5;typedef struct{ int weight; int parent,lchild,rchild;}element;char ch[n] = {'A','B','C','D','E'};int w[n] = {35,25,15,15,10};void HuffmanTree(eleme原创 2017-07-02 16:18:53 · 249 阅读 · 0 评论 -
读取文件第k条记录打印到屏幕
/*读取文件第k条记录打印到屏幕*/#include #include typedef struct date_order{ int year; int month; int day;}DATE;typedef struct student{ long studentID; char studentNam原创 2017-06-10 14:16:18 · 239 阅读 · 0 评论 -
二叉链表
/*二叉链表*///二叉链表结构储存定义typedef int DataType;typedef struct BiNode{ DataType data; struct BiNode *lchild,*rchild;}BiNode,*root; //root为指向二叉链表根节点指针//前序遍历void PreOrd原创 2017-07-01 16:00:30 · 1179 阅读 · 0 评论 -
循环单链表遍历算法
/*循环单链表遍历算法*/void PrintList(Node *first){ p = first->next; while(p!=first) { printf(p->data); p = p->next; }}原创 2017-06-16 15:07:38 · 2168 阅读 · 1 评论 -
使用指针连接字符串
/****************使用指针连接字符串*******************/#include #define N 40char * MyStrcat(char *dstStr,char *srcStr) //声明一个返回指针指的函数,前面多一个*{ char *pStr = dstStr; //保存字符串首地址指原创 2017-05-20 20:39:09 · 4083 阅读 · 0 评论 -
选择法排序—————对一个班学生成绩按大小进行排序,并对应学号
/*******选择法排序—————对一个班学生成绩按大小进行排序,并对应学号选择法算法函数:void DataScore(int score[],int i){ int i,j,k,temp; for(i=0;i { if(score[j]>score[k]) { k=j;原创 2017-05-11 21:33:20 · 7653 阅读 · 1 评论 -
线性查找法————使用查找键逐个与数组元素进行比较实现查找
/*******************线性查找法————使用查找键逐个与数组元素进行比较实现查找查找过程:利用循环顺序扫描整个数组,依次把每个元素与待查找元素比较,若找到,停止循环,输出位置输入学号和成绩,输入学号,查找成绩**********************/#include #define N 40int ReadScore(int score原创 2017-05-12 19:53:17 · 694 阅读 · 0 评论 -
线性查找法————折半查找
/*******************线性查找法————折半查找根据已经排好大小的学号进行折半查找折半查找的基本思想:首先选取数组中间位置的元素,将其与查找键进行比较,如果相等,则返回下标,找出值,否则,查找区间缩小为原来的一半,**********************/#include #define N 40int ReadScore(int scor原创 2017-05-12 21:12:25 · 548 阅读 · 0 评论 -
折半查找---通过选择法排序对成绩进行排序
/*******************线性查找法————折半查找通过选择法排序对学号进行排序折半查找的基本思想:首先选取数组中间位置的元素,将其与查找键进行比较,如果相等,则返回下标,找出值,否则,查找区间缩小为原来的一半,**********************/#include #define N 40void DataSort(int score原创 2017-05-13 20:45:09 · 1906 阅读 · 0 评论 -
二维数组——————学生成绩管理
/****************对一个班级人数为40以内的三门考试成绩进行统计计算每个学生以及全班的总成绩及平均数********************/#include#define STUD_N 40 //人数最大容量#define CONSURE_N 3 //考试科目数最大容量int ReadScore(int score[原创 2017-05-14 21:28:30 · 3483 阅读 · 0 评论 -
按值调用与按地址调用
/*void类型表示你的main函数无返回值,但是你在main函数体内又加了return 0,也就是说有返回值,这和你前面的void是相冲突的.要么有void,去掉return 0,要么把void 改成 int或者其他数据类型.*/#include void Fun(int *par);void Fun(int *par){ printf(原创 2017-05-16 18:48:04 · 434 阅读 · 0 评论 -
指针的地址调用-----读取学生最高分
读取一个班的成绩的最高分及对应学号#include #define N 30void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum);void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum原创 2017-05-16 20:34:04 · 520 阅读 · 0 评论 -
野指针:释放内存但却仍然使用它,将导致野指针
/************野指针:释放内存但却仍然使用它,将导致野指针*************//*例子:输入一个不带空格的字符串显示在屏幕上*/#includechar *GetStr(void){ char s[80]; scanf("%s",s); //printf("s = %p\n",s); //打印返原创 2017-05-26 21:00:22 · 1285 阅读 · 0 评论 -
二维数组之alloca、calloc、malloc、free、realloc等的区别
/*stdlib 头文件即standard library标准库头文件。stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()原创 2017-05-25 19:20:00 · 1145 阅读 · 0 评论 -
利用指针及数组对国家名称按字典排序
/*************************利用指针及数组对国家名称按字典排序**********************/#include #include #define MAX_LEN 10 //字符串最大长度#define N 150 //字符串个数void SortString(char *ptr[],int n原创 2017-05-24 21:22:43 · 4591 阅读 · 0 评论 -
指针与二维数组
/************************指针与二维数组输入一个三行四列的数组,并输出元素值用二维数组做函数形参*************************/#include #define N 4 //此处N应与主函数二维数组第二列长度一致,否则报“数组下标不一致以及形参与实参类型不一致”void InputArra原创 2017-05-24 20:34:52 · 290 阅读 · 0 评论 -
交换法排序——————将班级学生人数少于40的成绩0---100分进行从高到低排序
/*交换法排序——————将班级学生人数少于40的成绩0---100分进行从高到低排序*/#include#define N 40 //定于N的数组内存int ReadScore(int score[]) //读取学生成绩,当输入不是0--100的时候结束输入{ int i = -1; //初始化i,下标从0开始 do原创 2017-05-11 19:56:01 · 835 阅读 · 0 评论 -
递归函数——————汉诺塔问题
/********************************递归函数——————汉诺塔问题********************************/#include void Move(int n,char a,char b);void Hanoi(int n,char a,char b,char c){ if(n==1) {原创 2017-05-09 20:20:36 · 298 阅读 · 0 评论