关键词:
学习目标:
熟悉C语言程序的编译和运行
学会编程计算并输出常见的算术表达式的结果
掌握整数和浮点数的含义和输出方法、声明方法、读入方法
掌握数学函数的使用方法
初步了解变量的含义
掌握变量交换的三变量法
理解算法竞赛中的程序三部曲:输入、计算、输出
记住算法竞赛的目标及其对程序的要求
1.2 变量及其输入
1.如果一定要把浮点数值存放在一个int型变量中,将会丢失部分信息——不推荐这样做。
例1-1 圆柱体的表面积
#include <stdio.h> int main() const double pi = acos(-1.0); double r,h,s1,s2; scanf("%lf %lf",&r,&h); s1 = 2*pi*r*r; s2 = 2*pi*r*h; printf("Area = %.3f ",s1+s2); return 0;
(1).不要让程序“按任意键退出”(例如,调用system(“pause”),或者添加一个多余的getchar()),因为不会有人来“按任意键”的。
(2).在算法竞赛中,不要使用头文件conio.h,不要使用getch(),getche(),gotoxy()和clrscr()函数。
1.3 顺序结构程序设计
例1-2 三位数反转
#include <stdio.h> int main() int a,a1,a2,a3,b; scanf("%d",&a); a1 = a/100; a2 = (a-a1*100)/10; a3 = a%10; b = a3*100+a2*10+a1; printf("%d ",b); //考虑最后一位为0时的输出,%d或%03d return 0;
(1).注意数的最后一位为0时如何取值。
例1-3 交换变量
#include <stdio.h> int main() /* 三变量法 int a,b,temp; scanf("%d %d",&a,&b); temp = a; a = b; b = temp; printf("%d %d",a,b);*/ //最佳的方法: int a,b; scanf("5d %d",&a,&b); printf("%d %d",b,a); return 0;
(1).算法竞赛是在比谁能更好地解决问题,而不是在比谁写的程序看上去更高级。
1.4 分支结构程序设计
例1-4 鸡兔同笼
#include <stdio.h> int main() int m,n,j,t; scanf("%d %d",&n,&m); t = (m-2*n)/2; j = n-t; if(m%2 == 1 || j<0 || t<0) printf("No answer"); else printf("%d %d ",j,t); return 0;
(1).和其他语言不同的是,在C语言中单个整数也可以表示真假,其中0为假,其他值为真。
(2).短路运算
例1-5 三整数排序
#include <stdio.h> int main() int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a>b) t = a;a = b;b = t; if(a>c) t = a;a = c;c = t; if(b>c) t = b;b = c;c = t; printf("%d %d %d",a,b,c); return 0;
《算法竞赛入门经典(第2版)》pdf下载在线阅读,求百度网盘云资源
《算法竞赛入门经典(第2版)》(刘汝佳)电子书网盘下载免费在线阅读资源链接:链接:https://pan.baidu.com/s/1hn9oYzCM-fjrw649WmvKyg 提取码:6bov 书名:算法竞赛入门经典(第2版)作者:刘汝佳豆瓣评分:8.9出版社:清... 查看详情
算法竞赛入门经典(刘汝佳)课后习题前三章答案
本文转载:第一章习题1-1#include <stdio.h>int main(){int a,b,c;double d;scanf("%d%d%d",&a,&b,&c);d=(double)(a+b+c);printf("%.3lf ",d/3.0);return 0;}习题1-2#include 查看详情
《算法竞赛入门经典(第二版)》pdf
...下载内容简介 · · · · · ·《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,... 查看详情
算法竞赛入门经典(第2版)+算法艺术与信息学竞赛pdf-高清版免费下载
下载地址:网盘下载备用地址:网盘下载 查看详情
算法竞赛入门经典5.2stl初步(代码片段)
1. 排序和检索,学会使用sort排序,以及low_bound函数RajuandMeenalovetoplaywithMarbles.Theyhavegotalotofmarbleswithnumberswrittenonthem.Atthebeginning,Rajuwouldplacethemarblesoneafteranotherinascendingorderofthenumbersw 查看详情
算法竞赛入门经典第二版第二章习题及思考题(代码片段)
enmmmmmm】 大部分好像除了最后一个思考题都很简单代码如下#include<iostream>#include<cstring>#include<cstdio>#include<cmath>intmain()/*for(inti=100;i<=999;i++)inta=i/100;intc=i%10;intb=(i-a*10 查看详情
算法入门经典第六章例题6-14abbott的复仇(abbott'srevenge)bfs算法实现
SampleInput31N33 11WLNR* 12WLFNRER* 13NLER* 21SLWRNF* 22SLWFELF* 23SFREL* 0SampleOutput(3,1)(2,1)(1,1)(1,2)(2,2)(2,3)(1,3)(1,2)(1,1)(2,1) (2,2)(1,2)(1,3)( 查看详情
算法竞赛-入门经典计算并输出1+2的值
1.练习目的:计算并输出1+2的值2.源码:1#include<stdio.h>2intmain()3{45printf("%d ",1+2);6return0;7}3.总结:略... 查看详情
算法竞赛入门经典_4.3_递归
...归头,二是递归体。我们使用gcc调试工具H:编程书籍学习算法竞赛入门经典2代码算法入门经典第四章>bf‘b‘不是内部或外部命令,也不是可运行的程 查看详情
python3入门机器学习经典算法与应用
第1章欢迎来到Python3玩转机器学习1-1什么是机器学习1-2课程涵盖的内容和理念1-3课程所使用的主要技术栈第2章机器学习基础2-1机器学习世界的数据2-2机器学习的主要任务2-3监督学习,非监督学习,半监督学习和增强学习2-4批... 查看详情
[算法竞赛入门经典]crosswordanswersacm/icpcworldfinals1994,uva232(代码片段)
DescriptionAcrosswordpuzzleconsistsofarectangulargridofblackandwhitesquaresandtwolistsofdefinitions(ordescriptions).Onelistofdefinitionsisfor“words”tobewrittenlefttorightacrosswhitesquaresintherowsand 查看详情
[算法竞赛入门经典]kickdownacm/icpcneerc2004,uva1587(代码片段)
DescriptionAresearchlaboratoryofaworld-leadingautomobilecompanyhasreceivedanordertocreateaspecialtransmissionmechanism,whichallowsforincrediblyefficientkickdown—anoperationofswitchingtolowergear.After 查看详情
[算法竞赛入门经典]messagedecoding,acm/icpcworldfinals1991,uva213(代码片段)
DescriptionSomemessageencodingschemesrequirethatanencodedmessagebesentintwoparts.Thefirstpart,calledtheheader,containsthecharactersofthemessage.Thesecondpartcontainsapatternthatrepresentsthemessage.Yo 查看详情
[算法竞赛入门经典]repeatingdecimals,acm/icpcworldfinals1990,uva202(代码片段)
DescriptionThedecimalexpansionofthefraction1/33is0.03,wherethe03isusedtoindicatethatthecycle03repeatsindefinitelywithnointerveningdigits.Infact,thedecimalexpansionofeveryrationalnumber(fraction)hasare 查看详情
算法竞赛入门经典习题2-10排列(permutation)
习题2-10 用1,2,3。....,9组成3个三位数abc。def和ghi,每一个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出全部解。#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(intargc,char*ar 查看详情
《算法竞赛入门经典(第二版)》习题解答——第二章(代码片段)
文章目录一、习题2-1水仙花数(daffodil)二、习题2-2韩信点兵(hanxin)三、习题2-3倒三角形(triangle)四、习题2-4子序列的和(subsequence)五、习题2-5分数化小数(decimal)六、习题2-6排列... 查看详情
算法入门经典第六章例题6-5移动盒子
例题6-5移动盒子(BoxesinaLine,UVa127675)问题给定一行盒子,从左到右编号依次为1,2,...,n.可以执行以下命令:1XY 把盒子X移动到Y的左边(如果已经在左边,忽略此命令)2XY 把盒子X移动到Y右边(如果X已经在Y的右边,忽... 查看详情
算法竞赛入门经典_2_变量及其输入
代码://2017-6-19变量及其输入#include<stdio.h>#include<math.h>voidAAndB();voidCircleZtArea();intmain(){AAndB();CircleZtArea();return0;}voidAAndB(){inta,b;scanf("%d%d",&a,&b);//scanf("%d",a) 查看详情