算法学习[一]

来源:互联网 发布:手机登录淘宝电脑版 编辑:程序博客网 时间:2024/06/07 14:16

从今天开始,要利用时间好好学习算法了,从最基本的学起来,坚持下去,趁自己还有时间,不能总是逃避,总想着找人帮忙,还是要靠自己,加油!


现在开始利用的资料有:
算法竞赛入门经典(第2版) -刘汝佳
算法第四版
结合其他一些资料


示例一 ##:scanf

主要考察
1.scanf(“%d%d”,&a,&b);这一句中的&a,&b,如果不使用&取地址符号,将会报出断错误。scanf中的占位符和变量的数据类型应一一对应,且每个变量前需要加“&”符号,字符串不用。
2.scanf函数中,后面的地址表中,可以写直接对变量的取值(&a),也可以写存有该变量地址的指针(pa),也可以直接写出变量的地址(0x0028FF0C)。(参考:http://www.cnblogs.com/yoghurtman/p/4525774.html)

#include <stdio.h>int main(){    int a,b;    printf("&a=%p\n",&a);//得到a的地址,**格式控制符“%p”中的p是pointer(指针)的缩写**printf("&b=%p\n",&b);//得到b的地址,printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。    scanf("%d%d",&a,&b);//可以将&a,&b替换为16进制的地址    printf("%d%d",a,b);    return 0;}

示例二 ##变量交换

输入两个整数a和b,交换二者的值,然后输出。
方法一:三变量法:交换两个变量的三变量法适用范围广,推荐使用。

#include<stdio.h>int main(){    int a, b, t;    scanf("%d%d", &a, &b);    t = a;    a = b;    b = t;    printf("%d %d\n", a, b);    return 0;}

方法二:不推荐

#include<stdio.h>int main(){    int a, b;    scanf("%d%d", &a, &b);a = a + b;    b = a - b;    a = a - b;    printf("%d %d\n", a, b);    return 0;}
原创粉丝点击