HDOJ_ACM2000-2050代码+注释.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这些代码是我经过一段时间的做题后总结而成的,可以说是本人做题的第一手资料。虽然现在回过头来看看很简单,甚至有些幼稚,但我想也没有必要将其改的过于精辟,因为我认为作为c语言的初学者来说,只有那些以初学者的身份写出来的代码才是最易懂的。所以希望这些代码能给大家带来些帮助。 另外也希望大家不在万不得已,尽量不要看代码,尽量自己去想,这样才能不断进步,才能真正体会到编程的乐趣。 2000 #includestdio.h int main() { char ch1,ch2,ch3,temp; while(scanf(%c%c%c,ch1,ch2,ch3)!=EOF) { getchar(); if(ch1ch2) { temp=ch1; ch1=ch2; ch2=temp; } if(ch1ch3) { temp=ch1; ch1=ch3; ch3=temp; } if(ch2ch3) { temp=ch2; ch2=ch3; ch3=temp; } printf(%c%2c%2c\n,ch1,ch2,ch3); } return 0; } 做第一道题目,很多人都会问“输入多组数据这么处理?”,现在你应该白了吧?其实这种情况在ACM上比比皆是。关键就在那个“!=EOF”上啦。对于这道题目首先将第一个字符和第二个字符比较,将较小的放在首位,再将第一个和第三个比较,同样将较小的放在首位,经过前两次比较,第一个是最小的就确定了,再将第三个和第二个比较,将较小的放在第二位,较大的放在第三位。经过三次比较他们的位置就确定了,接下来输出的时候要注意空格,应为格式错误就全盘皆输了^_^。 2001 #includestdio.h #includemath.h int main() { double x1,y1,x2,y2,dist; while(scanf(%lf%lf%lf%lf,x1,y1,x2,y2)!=EOF) { dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); printf(%.2lf\n,dist); } return 0; } 因为考虑到两点间距离会有小数出现,且题目要求输出时保留两位小数,所以这里我们采用“double”来定义变量。接下来的两点间距离公式我想大家都知道的吧。这里还用到一个“sqrt”开方的函数,是包含在头文件“math.h”里的,所以在开头要先申明了。在编程的时候要尽量用,要“巧用”库函数,这样可以提高效率,同样也可以减少代码的复杂度。 2002 #define PI 3.1415927 #includestdio.h int main() { double a,v; while(scanf(%lf,a)!=EOF) { v=(4.0/3)*PI*a*a*a; printf(%.3lf\n,v); } return 0; } 同样的道理,应为PI的值是一个比较复杂的值,所以开始的时候我们用宏定义来规定它的值,同时也是为了我们以后方便修改。另外利用圆的体积公式我们求出其体积。最后输出时保留三位小数,我们利用“%.3lf”来实现。当然别忘了输完一个后换行”\n”^_^. 2003 #includestdio.h int main() { double a; while(scanf(%lf,a)!=EOF) { if(a0) a=(-a); printf(%.2lf\n,a); } return 0; 这道题目一看就知道很简单是吧?但千万别忘了有小数点的情况,所以我们还是采用”double”来定义变量。 2004 #includestdio.h int main() { int a,b; while(scanf(%d,a)!=EOF) { b=a/10; if(a0||a100) b=(-1); switch(b) {

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档