代码改变世界

随笔分类 - C

Parentheses Column Values

2015-07-08 16:10 by kingshow, 258 阅读, 收藏, 编辑
摘要: Parentheses Column ValuesBetween the columns using four parentheses ‘(‘, ‘)’, ‘[‘, ‘]’, a correct parentheses column is defined as below:1. ‘()’ or ‘[... 阅读全文

C语言 解决迷宫问题练习

2014-07-11 15:29 by kingshow, 4119 阅读, 收藏, 编辑
摘要: 利用C语言来解决类似迷宫的问题,下面例子分别用两种方法来解决![Problem]There is a maze as shown in the diagram below. In the maze in the form of a 100*100 matrix, the white backgrou... 阅读全文

C语言 链队列基本操作

2014-07-11 11:10 by kingshow, 349 阅读, 收藏, 编辑
摘要: C语言链队列基本操作#include #include #include /* C语言链队列基本操作 2014年7月11日10:11:41*/typedef int qType;typedef struct node{ qType data; struct node *pNe... 阅读全文

C语言,栈的实现

2014-07-10 12:35 by kingshow, 243 阅读, 收藏, 编辑
摘要: 一、动态栈的实现#include #include #include //定义一个节点的结构typedef struct node{ int member; //数据域 struct node *pNext; ... 阅读全文

C语言,查找子字符串并统计个数

2014-07-08 12:10 by kingshow, 5198 阅读, 收藏, 编辑
摘要: 一、C语言,在一个字符串中查找一个子字符串,并统计个数~EX:#include #include int find_string(char str[],char substr[]);int main(){ /* char ch[10] = {"qweasd"}; int n = s... 阅读全文

C语言 stringcpy,stringcat,stringcmp实现

2014-02-14 08:22 by kingshow, 4106 阅读, 收藏, 编辑
摘要: 复习复习C语言,O(∩_∩)O~#include#include//实现从源字符串string到目的字符串str的复制函数char* stringCpy(char* str,const char* string){ char* s=str; while(*string) { *s++=*string++; } *s='\0'; //返回目的字符串的首地址 return str;}//函数将字符串string链接到字符串str的尾部char* stringCat(char* str,const char* string){ char... 阅读全文

C逻辑型变量——时控灯例子

2013-11-05 17:28 by kingshow, 933 阅读, 收藏, 编辑
摘要: 在C99标准颁布之前,我们通常都是用1或者0来表示逻辑的真与假,因此,当我们需要在程序中传递这种逻辑数据时,我们都是用整型数据类型int来表示这种逻辑型数据。然而,使用整型数据类型int来表示逻辑型变量,往往带来很多问题。例如,整型数据具有加减乘除的算术运算,然而这些运算对于逻辑型变量是没有意义的;整型变量可以有多个值,而逻辑型变量应该只有真或者假两个值,这就使得用整型数据类型来表示逻辑型变量,往往会产生歧义。 为了解决这些问题,同时与C++保持兼容,C99标准专门在头文件中预先定义了一个宏bool来表示逻辑型变量(最终编译的时候,bool会被替换成真正的逻辑型数据类型_Bool)。用bool 阅读全文

C语言,一个彩票摇奖程序摇出22选5的中奖号码

2013-11-05 15:50 by kingshow, 1867 阅读, 收藏, 编辑
摘要: 摇奖机摇奖,无非就是利用它的随机性,让球从摇奖机中随机地掉出,就成了中奖号码。而C语言中也同样有个rand()函数可以产生随机数,利用这个rand()函数产生的随机数,同样可以代替从摇奖机中随机摇出的中奖号码。然而,我们无法直接使用rand()函数来产生中奖号码,因为rand()产生的随机数字有一定的重复性,也就是rand()也许可以产生两个1,三个2,这显然不符合彩票的规则。那么,如何让rand()产生不重复的随机数字呢?我们可以回想一下摇奖机是如何工作的:从容器中随机地摇出一个球,然后再从设个拿下的号码球中摇出第二个球。。。以此类推。而在C语言程序中,我们要想产生不重复的随机数字,也可以模 阅读全文

C语言一个简单的闹钟程序

2013-11-05 14:57 by kingshow, 4320 阅读, 收藏, 编辑
摘要: #include #include #include void Alarm() { for(int i = 0; i < 10; ++i) { // 输出计算机响铃 printf("%s","\a"); } } int main() { while(true) { // 获取系统时间 SYSTEMTIME stLocal; GetLocalTi... 阅读全文

用C语言简单加密解密

2013-11-03 11:49 by kingshow, 4171 阅读, 收藏, 编辑
摘要: 使用char表示的字符型数据,在本质上与我们前面介绍的整型数据并无太大的区别,只是char类型占用的内存字节数更小,能够表示的数据范围更小而已。在使用上,char被专门用来表示C语言的字符集中的各种字符,不要把它当成一个整型数据类型来使用。对于字符类型,我们常常利用它来处理字符串中的单个字符或者是实现一些字符游戏。例如,我们可以对字符串中的单个字符进行运算,实现字符串的简单加密:#include #include // strlen()函数所在的头文件#include // isalpha()函数所在的头文件int main(){ // 定义一个明文字符串 char m... 阅读全文

学了C语言,如何利用cURL写一个程序验证某个网址的有效性?

2013-11-03 11:27 by kingshow, 1410 阅读, 收藏, 编辑
摘要: 在《C程序设计伴侣》以及这几篇关于cURL的文章中,我们介绍了如何利用cURL写一个下载程序,从网络下载文件。可是当我们在用这个程序下载文件时,又遇到了新问题:如果这个网址是无效的,那么我们的下载会失败,这就意味着我们在进行下载之前,需要对这个文件的网址的有效性进行验证。另外一个需要对网址进行验证的场景是,在C++11 FAQ中文版中有很多链接,因为一些后期的维护,其中的有些链接可能会失效,这就要求我们对其中的链接的有效性进行检查验证,及时地发现失效链接并进行维护。 以上这些场景下,都要求我们对网址(URL)的有效性进行验证,那么这一工作如何进行呢? 难道将需要验证的网址一个个复制到浏览器中试 阅读全文

如何计算一个字符串表示的计算式的值?——C_递归算法实现

2013-11-01 17:14 by kingshow, 1579 阅读, 收藏, 编辑
摘要: 在《C程序设计伴侣》的8.7.3 向main()函数传递数据这一小节中,我们介绍了如何通过main()函数的参数,向程序传递两个数据并计算其和值的简单加法计算器add.exe。这个程序,好用是好用,就是太简单,还停留在幼儿园大班的水平,只能计算两位数的加法。我们现在基本都已经是大学生了,如果还是用这个简陋的加法计算器去向面试官展示我们的编程能力,肯定会遭到他们的笑话。在看完《C程序设计伴侣》后,我们的编程能力已经今非昔比了。自然,我们也可以利用从这本书中学到的知识(函数,字符串处理等),把这个计算器改进一下,让他成为一个可以计算更多数据更多算符的高级计算器。我们是怎么计算一个复杂计算式的?我们 阅读全文

学了C语言,如何写个程序计算出每个月的第一个星期一对应的日期

2013-11-01 15:15 by kingshow, 1518 阅读, 收藏, 编辑
摘要: 在前面,我们分别利用泰勒公式和C标准库中的mktime()函数推算了某个特定日期所对应的星期几,刚做完这些,就又遇到了一个与日期相关的新任务:老板把每个月例会的时间定在了每个月的第一个星期一,他让我把具体日期整理出来,发给每一个成员,提醒大家准时参加。简单地讲,也就是把每个月的第一个星期一对应的日期提取出来。如果时间范围比较短(比如一年),自己翻翻日历勉强也能解决,如果要是时间范围比较长(比如十年),再去一个个翻日历,就麻烦了。怎么办?还记得我们在学了C语言,如何统计一篇英文文章中的单词数?中所认识和体会到的:程序,就是用来帮助人们完成这些看起来枯燥繁琐但是带有一定规律性的事情的。面对这个麻烦 阅读全文

用C语言写个程序推算出是星期几?(用泰勒公式实现)

2013-11-01 12:10 by kingshow, 3662 阅读, 收藏, 编辑
摘要: 在日常生活中,我们常常遇到要知道某一天是星期几的问题。有时候,我们还想知道历史上某一天是星期几。比如:“你出生的那一天是星期几啊?”“明年五一是不是星期天?我去找你玩?”通常,解决这个问题的最简单办法就是看日历,但是我们总不会随时随身带着日历,更不可能随时随身带着几千年的万年历。老师告诉我们,学习C语言,就是为了用它来帮助我们解决实际问题的,那么,既然我们通过《C程序设计伴侣》学了C语言,如何用C语言写个程序来推算出自己出生的那天是星期几呢?答案当然是肯定的(要不然,我也不会在这里啰嗦)。要计算日期所对应的星期,有一个著名的泰勒公式:w = [ c/4 ] – 2c + y + [y/4] + 阅读全文

学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

2013-11-01 11:39 by kingshow, 1465 阅读, 收藏, 编辑
摘要: 在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘。可是,这两天,他又抱怨他的下载程序不好用,让我们帮他写一个下载程序。虽然我们学了C语言,虽说学了C语言,走遍天下都不怕,但是要想用C语言写一个全新的下载程序,对我们来说,就好比另外一个二万五千里长征。虽然技术上可行,但是在实际操作中却是行不通的。谁也不会傻到去用C语言写一个全新的下载程序。那么,到底怎么办呢?如果我们看了《C程序设计伴侣》的7.A 站在巨人的肩膀上——如何使用已有的函数库这个节,要想解决这个问题,那简直就是“洒洒水啦”。在这个 阅读全文

统计一篇英文文章中的单词数

2013-10-31 18:15 by kingshow, 6401 阅读, 收藏, 编辑
摘要: 写英语作文的时候,常常要求满足一定的字数,在以往,要么,我们一个一个地数,要么,我们估算一行的单词数,然后用行数进行估算。第一种方法太费时,如果要是写个长篇大论,那几乎是mission imposible,而第二种方法有不太准确。这就给我们留下了一个问题:如何又快又准确地统计一篇英文文章中的单词数?程序,就是用来帮助人们完成这些看起来枯燥繁琐但是带有一定规律性的事情的。要解决这个问题,最自然的想法是,读取文章的所有内容(用fopen()和fgets()),然后一个单词一个单词地统计,然而,我们在这里遇到了一个难题:程序看不懂英文,他如何知道什么是一个单词,什么不是一个单词呢?我们似乎在这里遇到 阅读全文

磁盘剩余容量监控程序

2013-10-31 17:05 by kingshow, 503 阅读, 收藏, 编辑
摘要: 同学们在读完一本C语言参考书,能够做到C语言简单入门之后,往往有这样一种感觉:我知道用if语句可以表示条件选择,用for语句可以表示循环,我还知道如何写一个函数,也知道如何使用指针访问数据或者函数,可是我就是不知道如何用C语言解决现实生活中的实际问题:如何为寝室的下载狂人写一个磁盘剩余容量监视程序来监视磁盘,防止剩余容量不足?如何为他写一个个性化的下载程序,使之可以用命令行的方式灵活地下载文件?如何。。。 当我们掌握了C语言的基础知识后,但是却不知道如何运用,在遇到一些实际问题时,却感觉无从下手。这就是我们在C语言学习上的短板。《C程序设计伴侣》将通过一系列生动有趣的,来自实际的例子,为大家补 阅读全文

C语言实现一个简单的猜数字游戏

2013-10-31 11:32 by kingshow, 10054 阅读, 收藏, 编辑
摘要: 简单的猜数字游戏!/* 最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣: 这个游戏由三个人一起玩, 一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜,每次猜测之后,主持人就说出猜测的这个数比他心中 的数字是大还是小,然后另外一个人根据这个信息继续猜测,如此轮流,最后谁猜中就算谁输了。(算赢了也可以) 这是一个相互挖坑 让对方跳的过程,特别是最后几步,猜测范围越来越小,真是步步惊心,稍不留意,就踩到对方挖的坑里去了。 ======================================================= 阅读全文

十进制转二进制,倒置后输出十进制数

2013-10-10 17:17 by kingshow, 361 阅读, 收藏, 编辑
摘要: C练习: 十进制转二进制,倒置后输出十进制数/* ============================================================================ Name : Test1.c Author : lixiaolong Version : v1.0 Copyright : Your copyright notice Description : Hello World in C, Ansi-style =====================================================... 阅读全文

从输入的数中找出出现次数最多的数字

2013-10-10 17:14 by kingshow, 467 阅读, 收藏, 编辑
摘要: C练习:从输入的数中找出出现次数最多的数字/* * num1.c * * Created on: 2013年10月10日 * Author: lixiaolong */#include int main(){ int num[100] ={0}; int n,len=0,flag=0,fg; int i; int compare,a[100],c[100]={0},count=0; int max,mc; printf("please enter the number of input needed:\n "); scanf("%d",&n); 阅读全文