这两天发现一个问题,我最近发的几篇博文稀里糊涂地被转到别的网站去了,目前发现有两个网站转载了,一个注明了作者出处(博客园 lltong),但没给任何链接。另一个网站呢,就是直接抓的,而且还抓的乱七八糟的,呵呵,不知这样的内容给网友怎么去看。纯属自己写的一点笔记,别人转载我也不反对,只是希望能尊重下作者,起码要注明下出处,另外也多用点心复制粘贴,别误导了其他网友。从今起我也加上我的博客地址链接,让他们一起抓去。估计这篇文章的这个开头也抓走了。呵呵

不知是不是我操作不当,每次编辑文章时,原tag标签总记录不上。如果不是个例的话,希望博客园大大们能迟早修复下这个小bug哦。

//字符串反转

 #include <stdio.h>
#include <string.h>
void reverse(char s[]); main(){
char s[] = "abcd";
reverse(s);
printf("%s\n", s); //dcba
return ;
} void reverse(char s[]){
int i,l;
char t;
for(i=,l=strlen(s)-; i<l; i++,l--){
t = s[i] ;
s[i] = s[l];
s[l] = t;
}
}

//递归实现字符串反转

 #include <stdio.h>
#include <string.h>
void reverse(char s[],int n); main(){
char s[] = "abcd";
reverse(s,strlen(s)-); //dcba
return ;
} void reverse(char s[],int n){
if(n >= ){
putchar(s[n]);
reverse(s, n-);
}
}

//递归累加

 #include <stdio.h>
long sum(int n); main(){
printf("%d\n",sum());
return ;
} long sum(int n){
if(n > ){
return n + sum(n-);
}
}

//快速排序(基本上是对着书本敲的,目前理解还有点困难,还好跟着敲时没出什么错)

 #include <stdio.h>
void qsort(int v[],int left,int right);
void swap(int v[], int i, int j); main(){
int arr[] = {,,,,,,,,};
qsort(arr,,);
int i;
for(i=; i<; i++){
printf("%d,", arr[i]); //0,1,2,2,5,8,9,10,100
} return ;
} void qsort(int v[],int left,int right){
int i,last;
void swap(int v[], int i, int j); if(left >= right){
return;
}
swap(v, left, (left + right) / );
last = left;
for(i=left+; i<=right; i++){
if(v[i] < v[left]){
swap(v, ++last, i);
}
}
swap(v, left, last);
qsort(v, left, last-);
qsort(v, last+, right);
} void swap(int v[], int i, int j){
int temp;
temp = v[i];
v[i] = v[j];
v[j] = temp;
}

标准库中,提供了qsort函数

预处理器:#include指令(编译时把指定文件的内容包含到当前文件中)、#define指令

  #include "文件名"

  #include <文件名>

宏定义

  #define 名字 替换文本

替换文本可以是任意字符串,如替换文本有多行,每行末尾加上\。

宏定义的作用域:定义点到被编译的源文件的末尾处。

 #include <stdio.h>
#define MAXLENGTH 100
#define MORELINE "abc \
def"
#define forever for(;;)
#define max(a,b) a > b ? a :b
#define min(a,b) ((a) < (b) ? (a) : (b)) main(){
printf("%d\n", MAXLENGTH); //
printf("MAXLENGTH\n"); //MAXLENGTH
printf("%s\n",MORELINE); //abc def
//forever; //无限循环
printf("%d\n", max(,)); //10 看起来像函数调用,实质上是直接将替换文本插入到代码
printf("%d\n", min(,)); //
return ;
}

//宏定义实则替换,与函数调用不同,如下:

 #include <stdio.h>
#define max(a,b) (a) > (b) ? (a) : (b) //(++i) > (j) ? (++i) : (j); main(){
int i = ;
int j = ;
printf("%d\n",max(++i,j)); //
}

刚才编译器出了点小问题:cannot open output file E:\C\hello.cpp

临时解决办法:重新新建一文件,把原文件内容拷贝进去就好了。(呵呵,.cpp,下回要更正)

附:

1、有一富翁,为了确保自己的人身安全,雇了双胞胎兄弟两个作保镖。兄弟两个确实尽职尽责,为了保证主人的安全,他们做出如下行事准则:a.每周一、二、三,哥哥说谎;b.每逢四、五、六,弟弟说谎;c.其他时间两人都说真话。一天,富翁的一个朋友急着找富翁,他知道要想找到富翁只能问兄弟俩,并且他也知道兄弟俩个的做事准则,但不知道谁是哥哥,谁是弟弟。另外,如果要知道答案,就必须知道今天是星期几。于是他便问其中的一个人:昨天是谁说谎的日子?结果两人都说:是我说谎的日子。你能猜出今天是星几吗?

2、爸爸为了考考儿子的智力,给儿子出了道题。爸爸说:“我手里有1元、2元、5元的人民币共60张,总值是200元,并且1元面值的人民币比2元的人民币多4张。儿子,给爸爸算算这三种面值的人民币各有多少张?”儿子眨了眨眼睛,摸摸脑袋,也不知道怎么算。你能算出来吗?

原文作者:lltong

博客园地址:http://www.cnblogs.com/lltong/

重拾C,一天一点点_8的更多相关文章

  1. 重拾C,一天一点点_2

    类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...

  2. 重拾C,一天一点点

    数据类型及长度 char        字符型,占用一个字节 int          整型,通常代表特定机器中整数的自然长度 short       16位 int         16位或32位 ...

  3. 重拾C

    重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...

  4. CSS魔法堂:重拾Border之——更广阔的遐想

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  5. CSS魔法堂:重拾Border之——不仅仅是圆角

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  6. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  7. CSS魔法堂:重拾Border之——解构Border

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  8. 重拾Blog

    上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...

  9. [linux]重拾linux

    起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...

随机推荐

  1. buildbot 自动启动

    buildbot的master或者slave,一般配置好了之后, 总希望永久可用,即使机器因为某些原因重启了,也会自动启动. 官网文档不推荐使用root启动master. 而是使用用户级别的cront ...

  2. 你可能不知道的 30 个 Python 语言的特点技巧

        列表按难度排序,常用的语言特征和技巧放在前面. 1.1   分拆 >>> a, b, c = 1, 2, 3>>> a, b, c(1, 2, 3)> ...

  3. SVN提交数据失败问题(提示 svn:MKACTIVITY ... 403 Forbidden )

    注册了淘宝svn,结果在代码提交是老是出问题,如下截图所示: 网上有常用的一种方法是: http://jingyan.baidu.com/article/67508eb4d3f2e29ccb1ce47 ...

  4. 项目管理: Maven 让事情变得简单

    http://maven.apache.org/,  Maven其实就是为java实现的一个构建工具.他比Ant更高端. 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具.遗 ...

  5. C++ STL小知识

    五种迭代器: 在STL中,迭代器主要分为5类,分别是:输入迭代器.输出迭代器.前向迭代器.双向迭代器和随机访问迭代器. 输入迭代器 :只读,支持++.==.!=: 输出迭代器 :只写,支持++: 前向 ...

  6. 你不知道的JavaScript 二

    词法作用域 上次说到作用域,将其定义为一套规则,这套规则用来管理引擎如何在当前作用 域以及嵌套的子作用域中根据标识符名称进行变量查找. 作用域共有两种主要的工作模型.第一种是最为普遍的,被大多数编程语 ...

  7. [系统] 安装Ubuntu 双系统 - 失败

    因为工作原因, 所以需要装ubuntu系统. 在网络上查了一下, 一般都是使用U盘安装. 但是由于手头上既没有U盘又没有光盘,只能用硬盘安装了. 查一下, 使用wubi安装方式从硬盘安装, 非常方便. ...

  8. MCADEx Tools 6.3下载地址

    MCADEx Tools 6.3下载地址: http://pan.baidu.com/s/1pLxQPkR 修改参数批量设置工具为模型批量检查工具; 修改模型批量检查过滤工具; 修改工程图管理过滤工具 ...

  9. 使用Kinect2.0获取点云以在GLUT中显示

    这篇文章用来记录Kinect2.0如何生成点云. 以下示例源自Kinect提供的example修改完成,其名称会在小标题下方注解. 首先,要获取点云需要获取图像的深度数据和颜色数据.最后再将深度数据与 ...

  10. Android开发-API指南-<grant-uri-permission>

    <grant-uri-permission> 英文原文:http://developer.android.com/guide/topics/manifest/grant-uri-permi ...