C语言
文章平均质量分 86
meishadevs
Love coding love life !
展开
-
排序算法《二》选择排序
选择排序是排序中非常基本的排序,也是非常重要的排序基本思想:将下面的数据按照从小到大的顺序排列27 36 32 18 5 排序前:273632185第一步:找出五个数字中的最小的数字并放在第一位536321827原创 2014-01-22 11:05:43 · 1026 阅读 · 0 评论 -
文件操作《5》块数据读写
头文件stdio.h中定义了两个原创 2014-04-11 18:19:33 · 1050 阅读 · 0 评论 -
文件操作《4》格式化读写
文件操作中的格式化读写函数fprintf和fscanf函数和C语言的标准输入输出函数scanf和printf功能类似scanf():从键盘中输入数据fscanf():从文件中读取数据printf():打印数据fprintf():将数据打印到文件中fscanf的原型:int fscanf(FILE * stream, const char *format, .原创 2014-04-11 17:31:21 · 1064 阅读 · 0 评论 -
文件操作《1》文件的读写
文件操作在C语言中是一个不能忽略的知识点,学习文件操作也可以解除大家对文件的误解,可能许多人会认为只有文件夹中的文本文件,编译C语言时的源文件和头文件才是文件等,其实不能,计算机中的显示器、鼠标、键盘、打印机等都可以称为文件,没想到吧,其中的键盘是标准输入文件,显示器是标准输出文件理解了文件后我们就来用C语言通过代码操作文件在C语言中操作文件需要一个非常重要的结构体FILE结构原创 2014-04-11 11:20:04 · 1066 阅读 · 0 评论 -
数字逆置
在编程时会原创 2014-05-16 15:26:43 · 942 阅读 · 0 评论 -
得到一个数字中每一位的数字
学习编程也有一段时间了,随着学习的不断深入,我越来越体会到了算法的重要性,最近遇到了一些非常有意思的算法,比如打印水仙花数、将数字逆置,在这两个算法中会用到一个数字钟每一位的值如:判断数字123是否是水仙花数需要得到每一位的数字通常计算每一位的数字的算法是:个位:a = 123 % 10 = 3十位:b = 123 %100 / 10 = 2百位::c = 123 % 100原创 2014-05-16 10:59:01 · 34984 阅读 · 7 评论 -
使用二分法查找数组中的元素
上次写了几篇排序的博客,今天写一下查找原创 2014-05-10 09:22:04 · 6981 阅读 · 0 评论 -
打印水仙花数
打印水仙花数是编程中的一个非常基本的算法,也是一个非常重要的算法水仙花数是指一个三位数中的每一位的立方和是这个三位数即: 100a+10b+c = a^3+b^3+c^3如:153 = 1^3+5^3+3^3代码实现:方法一:单个for循环#include int main(){ int s; for(s = 100; s < 1000; s++) {原创 2014-02-18 15:37:57 · 1042 阅读 · 0 评论 -
链表《5》使用链表实现学生成绩管理系统
上次我使用动态数组和结果原创 2014-05-05 18:45:29 · 29609 阅读 · 6 评论 -
链表《4》删除链表中的结点
下图是一个创建好的链表下面我们需要删除一个结点,例如删除第3个结点首先定义一个指针p,并且将p指向第二个结点然后定义一个指针q,将q指向需要删除的结点将p指向的结点和q指向的结点相连p->pNext = q->pNext清空q指向的结点free(q);q = NULL;删除后的链表程序代码:原创 2014-05-05 16:02:57 · 1097 阅读 · 0 评论 -
vc6.0连接静态链接库
使用VC6.0的人原创 2014-05-18 14:18:29 · 2639 阅读 · 0 评论 -
文件操作《6》文件复制的实现
使用文件操作实现文件的复制原创 2014-04-12 22:53:05 · 853 阅读 · 0 评论 -
文件操作《8》计算文件的字节
计算文件的字节需要使用两个函数fseek和ftellfseek函数函数原型:int fseek(FILE *stream, long offset, int fromwhere);第一个参数:文件指针第二个参数:文件指针的偏移量(以字节的形式)第三个参数:文件指针偏移的起始位置函数功能:使用文件指针遍历文件ftell函数函数原型:: long fte原创 2014-04-14 10:34:38 · 1112 阅读 · 0 评论 -
排序算法《一》冒泡排序
学了这么久的C语言发现C语言的算法非常的多,特别是排序算法,在编程中的应用非常广泛,如:冒泡排序、选择排序、希尔排序 等等,今天向大家介绍排序中的一种最基本的排序,“冒泡排序”冒泡排序是排序中非常基本的排序,也是非常重要的排序因为排序时像水泡一样一个一个向上冒故此得名基本思想:将下面的数据按照从小到大的顺序排列27 36 32 18 5 没比前:原创 2014-01-15 15:45:22 · 1203 阅读 · 2 评论 -
递归的经典问题《汉诺塔问题》
学习递归的人应该都知道汉诺塔问题,翻开一些C语言的书几乎都会在递归中提到汉诺塔问题为了更好的说明汉诺塔问题,我用一张图说明算法如下所示:当A柱子上只有一个盘子时直接将A盘上的盘子移到C盘当A柱子上有两个盘子时原创 2014-02-23 19:59:41 · 1727 阅读 · 0 评论 -
在VS2012中编译C语言程序
最近看到了一些传智播客的C语言教程,令我感到奇怪的是既然不用VC6.0,而是用 VS2010或者VS2013编译C程序,以前只知道VS2010或者VS2013只能编译C#程序,我也用了一下子VS2013编译C语言第一步:打开VS2013打开VS2013后显示的界面等一会儿后会显示VS2013主界面:VS2013主界面第二步 选择新建项目:原创 2014-01-08 10:20:55 · 12398 阅读 · 12 评论 -
分别打印1到10000以内的奇数和和偶数和
程序代码原创 2014-02-21 11:12:57 · 5338 阅读 · 0 评论 -
计算从1加到100
计算从1加到100是编程中的一个最基本的算法,也是从小到大都在玩的一个游戏,记得小时候有些小伙伴经常问1+2+3+4+........+100=?而我经常回答一个早已心知肚明的答案5050,随着年龄的增长,越来越发现从1加到100是一件非常有意思的事情,越来越发现,越能理解从1加到100小学奥数中,老师会教你:1+100=101 2+99=101 3+98=101 ............原创 2014-01-06 14:04:08 · 12148 阅读 · 0 评论 -
贪吃蛇游戏
学习C语言也差不多学完了想做一个游戏,而原创 2014-07-04 15:50:52 · 1977 阅读 · 0 评论 -
打印圣诞树
圣诞节,已经过了,但是最近总想着写一些算法,今天就写一个与圣诞节有关的算法吧,打印圣诞树程序代码:#include #include void main(){ for(int i=1;i<=5;i++) { for(int j=1;j<=i;j++) { printf(" * "); } printf("\n"); } system("paus原创 2014-01-29 13:43:25 · 5450 阅读 · 3 评论 -
排序算法《3》插入排序
算法实现:使用原创 2014-05-11 10:49:08 · 2065 阅读 · 0 评论 -
链表《2》使用函数操作链表
使用函数操作链表1:计算链表中结点的个数:定义一个Length_list()函数用于计算链表中结点的个数函数代码://计算链表中结点的个数void Length_list(PNODE pHead){ PNODE p = pHead->pNext; int len = 0; while(NULL != p) { len++; p = p->pNext;原创 2014-04-28 12:02:09 · 1571 阅读 · 0 评论 -
链表《3》在链表中插入新的结点
在一条完整的非原创 2014-05-05 11:40:32 · 1996 阅读 · 4 评论 -
链表《1》链表的创建和遍历
链表是一种动态数据结构,它的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素,一个简单的链表如下图所示尾结点链表中每一个元素称为结点,每一个结点都是由数据域和指针域组成的,每个结点的指针域指向下一个结点非循环单链表的实现:要实现非循环单链表首先应定义一个结点结构typedef struct Node//结点结构{ int data;/原创 2014-04-23 10:21:26 · 4151 阅读 · 0 评论 -
文件操作《9》输入错误处理
在分析算法前先看几个函数函数名:feeror函数功能:检测文件在用各种输入输出函数进行读写时是否出错函数原型:: int ferror(FILE *stream);参数:文件指针函数名:clearerr函数功能:清除错误函数原型:void clearerr(FILE *stream);参数:文件指针函数名:fflush函数功能:清除文原创 2014-04-14 16:20:31 · 1008 阅读 · 0 评论 -
计算2+22+222+.......
随着学习的深入,越来越能体会出算法的重要性,写一个简单一点的算法吧计算2+22+222+2222+...................程序代码原创 2014-02-21 10:55:02 · 4865 阅读 · 2 评论 -
交换算法的实现
数据的交换是编程中最常用的一种算法,比如排序算法就是利用交换算法实现数字排序,基本上对数据的处理都和数据的交换有着千丝万缕的联系,哪我们今天就来学学在C语言中有哪些交换算法在写代码前,先看一下数据交换是如何实现的如:a=10 b=100 变成 a=100 b=10的实现过程交换前:引进中间变量temptemp = aa = bb =原创 2014-01-18 18:34:38 · 1480 阅读 · 0 评论 -
函数指针的应用《一个简单的计算器》
计算器是我们学习中普通的不能再普通的工具,我在Win32 API中也写了一篇用C语言通过调用Win32 API开发一个简单的图形界面版的计算器,随着开发的不断深入,我越能体会到算法的重要性,特别是在算法中应用指针是C语言的难点,我也有必要写几篇关于指针的博客学过C语言的人对指针是不会陌生的int a;//定义一个整型变量aint *p;//定义一个整型指针pp = &a;/原创 2014-01-27 12:06:18 · 2047 阅读 · 0 评论 -
C语言实现打印乘法口诀表
程序代码:for循环嵌套#include int main(){ int i,j; for(i=1;i<=9;i++)//实现打印行数 { for(j=1;j<=i;j++)//实现打印每行的列数 { printf("%dx%d=%d ",i,j,i*j); } printf("\n"); } return 0;}执行结果:原创 2014-01-18 11:20:37 · 1663 阅读 · 0 评论 -
计算日期是该年中的第几天
#include struct DATE /*定义一个日期结构*/{ int year; /*年*/ int month; /*月*/ int day; /*日*/};/*定义一个函数,计算该日期是第几天*/int DaysOfYear(struct DATE day);int main(){ struct DATE date;//日期结构 in原创 2014-01-25 14:22:42 · 3095 阅读 · 0 评论 -
VS2005编译的C++项目在没有安装VS2005的机器上无法运行
最经在研究C语言调用Windows Api写Win32程序,编译器是VS2005(项目是C++ -> Win32),发现在一台未安装VS2005的机子上双击运行,会提示: “由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”。百度了一下,发觉很多人都有这个问题,有网友还提到“原来用VC6和VS2003的话,是会提示缺少“*.dll”,但是用VS转载 2014-01-17 11:21:23 · 1740 阅读 · 0 评论 -
因式分解
因式分解是数学中一种常见的计算,也是编程中一种非常常见的编程方法因式分解是指将一个非质数分解成几个质数的积如: 4=2x2 100=2x2x5x5算法代码:原创 2014-01-23 18:43:39 · 2651 阅读 · 2 评论 -
几个输入输出函数的比较
几种输入输出函数的比较printf()标准输出函数printf("%",a);%格式说明起始符,后跟输出的数据类型a 指定输出数据的数据类型如#include int main(){ int a; a=123; printf("%d\n",a); return 0;}a以整型输出scanf()标准输入原创 2013-12-06 11:26:07 · 980 阅读 · 0 评论 -
打印质数(素数)
质数又称素数,是数学中最常见的数字,即是指除1和它本身以外没有其它约数的数字如 1 2 3 5 7 11 13 等因为: 4 = 2x2 6=2x3 8=2x4 9=3x3 10=2x5 12=2x6 12=3x4所以: 4 6 8 10 12 都不是质数(素数)在编程中判断质数和查找质数的算法也是编程中最常见的算法1 判断输入的数字是否是质数(普原创 2014-01-23 11:22:16 · 2709 阅读 · 0 评论 -
打印国际象棋棋盘
国际象棋棋盘是由8X8的方块黑白相间组成(如下图所示)将黑色方块用0表示,白色方块用1表示可以组成下图1 0 1 0 1 0 1 00 1 0 1 0 1 0 11 0 1 0 1 0 1 00 1 0 1 0 1 0 11 0 1 0 1 0 1 0程序代码:for循环嵌套#include #include void main()原创 2014-02-24 09:53:35 · 4549 阅读 · 1 评论 -
C语言中的加加减减
++i :自增运算符功能:i 自增1后再参与运算#include int main() { int i = 8; printf("%d\n",i); return 0; }执行结果:说明i 先自增1 后i变为9 再将9输出--i 自减运算符功能:i自减1后再参与运算#include int mai原创 2014-01-16 19:14:15 · 6002 阅读 · 0 评论 -
常用的DOS命令
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr.msc:证书管理实用程序 4. charmap:启动字符映射表 5. chkdsk.exe:Chkdsk磁盘检查(管理员身份运行命令提示符) 6. cleanmgr: 打开磁盘清理转载 2014-02-26 19:07:04 · 2735 阅读 · 1 评论 -
文件操作《13》制作文件合成器
本来想一直看郝斌老师的《C语言》视频教程可是看到后面发现郝斌老师的一些知识点没讲,例如文件操作,我边看小甲鱼老师的c语言中文件操作的那一部分看了几节后小甲鱼老师教我们做了一个文件合成器,这个文件合成器的功能非常简单,就是将一个压缩文件存放在一张图片中。原理:运用到了DOS命令中的copy命令的原理目的将该文件夹中的2.rar文件和1.jpg文件一起保存在3.jpg文件中原创 2014-04-16 08:28:01 · 1391 阅读 · 0 评论 -
文件操作《12》查找学生信息
学生信息查找算法:和我的原创 2014-04-15 17:19:44 · 1287 阅读 · 0 评论 -
文件操作《11》学生成绩的保存和打开
我相信学习C语言的都会做一个项目“学生管理系统”,我也不例外也做过学生管理系统,并且将其写成了博客我的学生管理系统在学生管理系统中,最基本的操作是学生信息的输入,保存和输出,在我做的学生管理系统中,我将学生的信息存储到动态数组中,但是动态数组有一个非常大的缺点,就是每次关闭程序,再次启动程序的时候,学生信息会自动删除,这使得每次操作时都需要重新输入学生信息,而是用文件操作就可以解决原创 2014-04-15 10:57:39 · 2032 阅读 · 1 评论