• 验证n是否是完全平方数
  1. #include<math.h>
  2. double m=sqrt(n);
  3. if(floor(m+0.5)==m)
  4. printf("%d是完全平方数。\n",m);

亮点:函数floor(x)返回x的整数部分,但浮点数的运算(sqrt)有可能存在误差[不经常,但一定会有]。若由于误差影响,整数1变成0.99999,那么floor(m)==m就会产生误差。

  • 计算程序所花费的时间
  1. #include<time.h>
  2. printf("Time used=%.2lf\n",(double)clock()/CLOCK+PRE_SEC);

优势:能够清楚的检验程序是否满足比赛时间要求

  • 本机测试时用文件重定向,一旦提交到比赛,就自动“删除”重定向语句
  1. #ifdef LOCAL
  2. freopen("data.in","r",stdin);
  3. freopen("data.out","w",stdout);
  4. #endif
将上面代码置于main函数最上面。编译时用下面的命令[命令中定义了LOCAL]

gcc main.c -o main -DLOCAL

亮点:本机测试时,因为定义了LOCAL变量而使用了重定向,而上传后因为比赛编译命令里没有-DLOCAL选项而不会使用重定向。

  • 士大夫

ACM编程技巧--代码片段的更多相关文章

  1. JavaScript核心编程(代码片段)

    var a = function () { function someSetup() { var setup = 'done'; } function actualWork() { alert('Wo ...

  2. ACM编程技巧--常用字符操作函数

    字符串与基本数据类型的转换 int sscanf(buff,"%d%d",&a,&b); //返回值是参数个数 int sprintf(buff,"%d% ...

  3. Android课程---Android Studio使用小技巧:提取方法代码片段

    这篇文章主要介绍了Android Studio使用小技巧:提取方法代码片段,本文分享了一个快速复制粘贴方法代码片段的小技巧,并用GIF图演示,需要的朋友可以参考下 今天来给大家介绍一个非常有用的Stu ...

  4. jQuery Mobile高手必备的十大技巧和代码片段

    与任何新技术一样,常常难就难在如何开始入手. 有鉴于此,我们整理出了与jQuery Mobile库有关的我认为最便利的一些技巧.方法和代码片段. 由于本文不是旨在全面介绍使用jQuery Mobile ...

  5. Visual Studio使用技巧,创建自己的代码片段

    1.代码片段的使用示例 在编写代码中常会使用代码片段来提高我们的编写代码的效率,如:在Visual Studio中编写一个 for(int i = 0; i < length;i++) { } ...

  6. Xcode开发技巧之code snippets(代码片段)

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

  7. Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!

      使用Code Snippet简化Coding 在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for.foreach ? 在编写这两个循环语句的时候,你是一个字符 ...

  8. iOS开发技巧 -- 复用代码片段

    如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏定义或者把这些代码收集起来,下次直接使用,或者放到xcod ...

  9. WPF技巧:通过代码片段管理器编写自己常用的代码模板提示效率

    在写自定义控件的时候,有一部分功能是当内部的值发生变化时,需要通知控件的使用者,而当我在写依赖项属性的时候,我可以通过popdp对应的代码模板来完成对应的代码,但是当我来写属性更改回调的时候,却发现没 ...

随机推荐

  1. python27读书笔记0.1

    --Notes: 测试环境:Windows ,python 2.7.3,python 自带的IDLE #-*- coding: utf-8 -*- # First Lesson# --- Line s ...

  2. vi/vim正则表达式

    http://www.cnblogs.com/penseur/archive/2011/02/25/1964522.html 毋庸多言,在vim中正则表达式得到了十分广泛的应用. 最常用的 / 和 : ...

  3. sublime c++ builder

    rt, mark { "cmd": ["g++", "${file}", "-o", "${file_path ...

  4. Xplico

    http://zhulinu.blog.51cto.com/539189/850909

  5. Foundation和UIKit框架图

    学习Foundation和UIKit的时候比较容易忽视的一个问题: 对于一个新的类,知道它的用法和属性方法,但往往忽视了它的继承关系, 了解类的继承关系能帮助加深对其理解. 另外在官方文档中每一个类的 ...

  6. Eclipse 安装Activiti 插件失败解决方法

    遇到的错误为:1.4.0' but it could not be found等.

  7. 物理地址为20位 如10000H 用段地址*16+偏移地址表示

    段地质在cpu中,为16位 段地质*16则变成物理首地址20位,这个物理首地址必定是16的倍数. 偏移地址16位, 则表明一个段的大小为64k. 同时也表明16位地址的寻址能力为64kb

  8. SPRING IN ACTION 第4版笔记-第五章BUILDING SPRING WEB APPLICATIONS-002-Controller的requestMapping、model

    一.RequestMapping 1.可以写在方法上或类上,且值可以是数组 package spittr.web; import static org.springframework.web.bind ...

  9. ServletInvocableHandlerMethod:167 - Error resolving argument

    at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(R ...

  10. linux c/c++ GDB教程详解

    学习使用了GDB一段时间后,发现它真的好强大!好用! GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在U ...