『算法学习笔记』1st day. 顺序结构程序设计
来源:互联网 发布:数据挖掘的就业前景 编辑:程序博客网 时间:2024/03/28 23:15
拿着算法书,我实在不知从何开始。虽然想参加算法比赛,但是不论如何需要从基本开始掌握。心急往往会出错,索性我从书上的例题开始研究,顺便研究相关的知识点,全部都总结在博客里,也方便自己以后复习。我参考的书籍是 刘汝佳的《算法竞赛 入门经典》,以后不指出均以此书为准。
我的情况是以前学过C语言,但是使用的并不多,也很久没碰了,基本可以算是零基础,所以如果有类似情况的朋友也欢迎交流学习。
例题1-1 圆柱体的表面积
输入底面半径r和高h,输出圆柱体的表面积,保留3位小数。
样例输入:3.5 9
样例输出:Area=174.889
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 const double pi=4.0*atan(1.0); 6 double r,h,s1,s2,s; 7 scanf("%lf%lf", &r,&h); 8 s1=pi*r*r; 9 s2=2*pi*r*h; 10 s=s1*2.0+s2; 11 printf("Area= %.3lf\n",s); 12 return 0; 13 }
知识点:
1.pi的处理 这里用了4.0 * atan(1.0)的值,以为有的编辑器不知道pi这个常数(实际上是M_PI)所以记住 pi=4.0*atan(1.0)
同时不要忘记 include<math.h> ; 尽量以const关键字声明常数。
2.算法竞赛中每行输出均以回车结束,包括最后一行。每行的行首不应有空格,另外没两个数字或者字符串之间应该以单个空格隔开。
3.关于printf 的格式 只有%开头的部分才会被后面的值替换掉。
例题1-2 三位数反转
输入一个三位数,分理处它的百位 十位和个位, 反转后输出。
样例输入:123
样例输出:321
1 #include<stdio.h> 2 int main() 3 { 4 int n; 5 scanf("%d",&n); 6 printf("%d%d%d\n",n%10,n/10%10,n/100); 7 return 0; 8 }
如果用变量存储中间结果
#include<stdio.h> 2 int main() 3 { 4 int n,m; 5 scanf("%d",&n); 6 m=n%10*100+(n/10%10)*10+(n/100); 7 printf("%03d\n",m); 8 return 0; 9 }
知识点:
%03d 表示输出整数 如果不足三位 就补零。
例题1-3
1 /* 2 Function: exchange params 3 sample input: 824 16 4 sample output: 16 824 5 */ 6 7 #include<stdio.h> 8 9 int main() 10 { 11 #if 0 12 //使用中间变量的中转的方法 13 14 int a, b,t; 15 scanf("%d%d", &a, &b); 16 t=a; 17 a=b; 18 b=t; 19 printf("%d %d\n", a,b); 20 #endif 21 22 #if 1 23 //不使用中间变量也可以完成 事实上并不需要真的交换变量 24 int a,b; 25 scanf("%d%d",&a,&b); 26 printf("%d %d\n", b, a); 27 #endif 28 return 0; 29 } 30 31 ~
0 0
- 『算法学习笔记』1st day. 顺序结构程序设计
- 『算法学习笔记』2nd day. 分支程序设计
- 学习笔记 ST算法
- 『算法学习笔记』9th day. 循环结构 & 计时器函数的使用
- javascript学习,1st day after Z-day
- 『算法学习笔记』3rd day. 数据类型实验
- 『算法学习笔记』24th day. 字符数组
- 1st day:基本概念
- 1st day here
- 1st day
- 『算法学习笔记』10th day. 文件操作<1>
- 算法-java(顺序结构程序设计)
- 【学习笔记】算法竞赛:chapter 2 循环结构程序设计
- UE4学习笔记1st
- [RHCE training] 1st day
- Java SE 1st day
- 1st day of MySql
- 『算法学习笔记』4th -8th day. 10道习题 & 常用数学函数
- 《高效学习OpenGL》 之 创建机器人手臂源码讲解
- VMware读取U盘USB设备
- site
- 序列化Python对象
- linux虚拟机上不了网的问题!
- 『算法学习笔记』1st day. 顺序结构程序设计
- 游戏服务器之技能
- python学习笔记1语句
- OpenNI + OpenCv2的第二个实验手势识别
- 关于PHP乱码的研究
- Android私有文件资源文件的存取
- java基础面试题
- 新年好啊
- C++:在函数parameter passed by reference时,如果可能,尽量使其是reference to const