当前位置:   article > 正文

《算法竞赛 入门经典》_算法竞赛入门经典 pdf

算法竞赛入门经典 pdf

第一部分 语言篇

第一章 程序设计入门

目录

第一部分 语言篇

第一章 程序设计入门

1.1 算术表达式

1.2 变量及其输入

1.3 顺序结构程序设计

1.4 分支结构程序设计

1.5 注解与习题


1.1 算术表达式

printf("%.1f",8.0/5.0)

保留1位小数。  

8.0/5.0不能写为8/5。

8.0/5 ,8/5.0 , 1.0*8/5 均可以。

sqrt(x)作用:计算x的算术平方根

一般来说,在程序中用到数学函数,要在最开始处写包含头文件math.h

1.2 变量及其输入

①scanf的占位符与变量的数据类型一一对应,每个变量前有&符号;

②const double pi =acos(-1.0);

acos 即arc cos-1=π 利用语言手册

③尽量用const关键字声明常数

1.3 顺序结构程序设计

①%取余

②25输出025,将输出格式变为%03d

③三变量法交换两个变量

(1)t=a;a=b;b=a;

(2)a=a+b;b=a-b;a=a-b;

  1. #include<stdio.h>
  2. int main(){
  3. int a,b;
  4. scanf("%d%d",&a,&b);
  5. printf("%d %d\n",b,a);
  6. return 0;
  7. }
  8. //问题为输入两个整数,交换两数值,然后输出,此为最合适的程序

注意:算法竞赛是在比谁能更好地解决问题,而不是比谁写的程序更高级。

1.4 分支结构程序设计

①if语句

②a||b一真为真,全假为假;

③三整数排序,从小到大排序后输出

  1. #include<stdio.h>
  2. int main(){
  3. int a,b,c,t;
  4. scanf("%d%d%d",&a,&b,&c);
  5. if(a>b){t=a;a=b;b=t;}//若a>b,则a和b交换,a<b
  6. if(a>c){t=a;a=c;c=t;}//若a>c,则a和c交换,a<c,先把a搞为最小,然后再比较b和c
  7. if(b>c){t=b;b=c;c=t;}//若b>c,则b和c交换,b<c
  8. printf("%d %d %d\m",a,b,c);
  9. return 0;
  10. }

1.5 注解与习题

①在C99中,double的输出必须用%f,而输入需要用%lf,但是在C89和C++中不必如此,输入输出都可以用%lf

②printf("\\n");输出\n

③题目:输入三角形的三条边的长度值(均为正整数),判断是否为直角三角形的三个边长,如果可以,则输出yes,如果不能,则输出no,如果根本无法构成三角形,则输出not a triangle

  1. #include<stdio.h>
  2. int main() {
  3. int a, b, c,t;
  4. scanf("%d%d%d", &a, &b, &c);
  5. if ((a + b) > c && (a + c) > b && (b + c) > a)
  6. {
  7. if (a > b) { t = a; a = b; b = t; }
  8. if (a > c) { t = a; a = c; c = t; }
  9. if (b > c) { t = b; b = c; c = t; }//先把a,b,c排序交换数值使得a<b<c
  10. if (a*a + b * b ==c * c)
  11. {
  12. printf("yes");
  13. }
  14. else
  15. {
  16. printf("no");
  17. }
  18. }
  19. else
  20. {
  21. printf("not a triangle");
  22. }
  23. return 0;
  24. }

④注意闰年,4的倍数是,100的倍数不是(400的倍数是)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/556445
推荐阅读
相关标签
  

闽ICP备14008679号