算法竞赛入门经典(第二版)_1入门

算法竞赛入门经典(第二版)_1_1_算术表达式

学习笔记,外加浅薄想法

A.算术表达式

1.整数值用%d输出,实数用%f输出。其中还可以修改输出格式,例:%.1f%就是保留一位小数。

2.整数/整数=整数,浮点数/浮点数=浮点数。整数-浮点数=浮点数,这里整数先“变”成浮点数,然后浮点数-浮点数=浮点数。


B.变量及其输入

1.这里面get到一个输入π值的方法:

const double pi = acos(-1);//反余弦函数,头文件为,声明为常数,所求的pi精度较高。

即-1的反余弦函数值就是π,我想知道它的一个精度,然后输出尝试发现最长是小数点后16位。

2.算法竞赛应当只做三件事:读入数据,计算结果,打印输出。


C.顺序 结构程序设计

1.三位数反转_1

#include
int main(){
int n;
scanf("%d",&n);
printf("%d%d%d\n",n%10,n/10%10,n/100);
return 0;
}

作者的思维特别地严谨,还考虑到了输出025的特殊情况,那么怎么解决?

三位数反转_2

#include
int main(){
int n;
scanf("%d",&n);
m = (n%10)*100 + (n/10%10)*10 + (n/100);
printf("%03d",m);
return 0;
}

%03d 有点新奇,于是我百度了一下,扩充了一下这方面的知识(引用自百度):

%3d--可以指定宽度,不足的左边补空格
%-3d--左对齐
%03d---一种左边补0 的等宽格式,比如数字12,%03d出来就是: 012

C.分支结构程序设计

1.C语言中的逻辑运算符都是短路运算符。一旦能够确定整个表达式的值,就不再运算。

2.算法竞赛的目标是编程对任意输入均得到正确的结果,而不仅是样例数据。

D.总练习题

1.闰年:闰年的2月有29天,平年的2月只有28天

2.闰年能被4整除,若是整百年(世纪年),还需要加一个条件---能被400整除

你可能感兴趣的:(算法竞赛,数据结构)