hdu 1036 (I/O routines, fgets, sscanf, %02d, rounding, atoi, strtol)
来源:互联网 发布:线条底纹生成软件 编辑:程序博客网 时间:2024/06/16 08:12
thanks to http://stackoverflow.com/questions/2144459/using-scanf-to-accept-user-input and http://stackoverflow.com/questions/456303/how-to-validate-input-using-scanf for the i/o part.
thanks to http://www.haodaima.net/art/137347 for the rounding part. s=s/nkilo+0.5; //s=round(s/nkilo);
check return value of scanf,
std::fgets, http://en.cppreference.com/w/cpp/io/c/fgets
std::atoi, std::atol, std::atoll,
std::strtof, std::strtod, std::strtold,
std::strtol, std::strtoll,
std::strtok, http://en.cppreference.com/w/cpp/string/byte/strtok
std::round, std::lround, std::llround, http://en.cppreference.com/w/cpp/numeric/math/round
#include <cstdio>#include <cmath>#include <algorithm>#define MAXLEN 200#define STEP 8char buffer[MAXLEN];int main() { //freopen("input.txt","r",stdin); int nsect, team, h,m,s, ht,mt,st, i, disqualified; char *p; double nkilo; scanf("%d%lf",&nsect,&nkilo); while(scanf("%d",&team)==1) { h=m=s=0; disqualified=0; p=buffer; fgets(buffer,MAXLEN,stdin); for(i=0;i<nsect;++i) { if(sscanf(p,"%d:%d:%d",&ht,&mt,&st)!=3) { disqualified=1; break; } h+=ht; m+=mt; s+=st; p+=STEP; } if(disqualified) { printf("%3d: -\n",team); continue; } s+=(m*60+h*3600); s=s/nkilo+0.5; //s=round(s/nkilo); m=s/60; s=s%60; printf("%3d: %d:%02d min/km\n",team,m,s); } return 0;}
as the problem title of hdu 1036 ( Average is not Fast Enough! )
suggest, Average is not Fast Enough, indeed.
- hdu 1036 (I/O routines, fgets, sscanf, %02d, rounding, atoi, strtol)
- I/O Routines 输入/输出API函数
- 标准 C I/O 之 fgets () 函数
- 符串I/O: fgets与fputs
- Delphi文件学习 Standard Routines and I/O
- Delphi文件学习二 Standard Routines and I/O
- Handling IRPs 7: IoCompletion Routines and Asynchronous I/O Responses
- atoi()与strtol()
- uva10562(dfs+fgets+sscanf)
- 标准I/O库函数:fgets与gets比较分析
- linux文件操作-标准I/O操作--fgets与gets
- strtok 与 fgets, atoi
- GNU/Linux编程指南学习笔记之七:系统编程----I/O Routines (续)
- 格式化I/O(常用的 sprintf 和 sscanf 总结)
- 格式化I/O(常用的 sprintf 和 sscanf 总结)
- S D I O S P I
- sscanf(getenv("QUERY_STRING"),"i=%d&j=%d",&i,&j);
- atoi,atol,strtod,strtol,strtoul 类型转换
- 关于java.util.Scanner
- 高性能Mysql主从架构的复制原理及配置详解
- 第一课Java
- linux下nc命令
- 分书和八皇后问题
- hdu 1036 (I/O routines, fgets, sscanf, %02d, rounding, atoi, strtol)
- Spring事务配置的五种方式(转载)
- linux下etc下hosts文件的作用
- commons logging LogFactoryImpl的getInstance()方法
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- linux下etc下resolv.conf文件的作用
- 局域网内mysql连接慢的解决办法
- Tutorial1 Open a window
- mysql服务性能优化—my.cnf配置说明详解(16G内存)