标签:des style blog http color java os strong
it‘s been a long time without practicing~ almost everything about the C programming language.
learn today: 1/ read the problem carefully.
2/no blank between two input (scanf(“%d %d", &a, &b);
prac: 2001(http://acm.hdu.edu.cn/showproblem.php?pid=2001)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 95055 Accepted Submission(s): 36510
#include<stdio.h> #include<math.h> int main(){ int x1, y1, x2, y2; double result; while(scanf("%d %d %d %d", &x1, &y1, &x2, &y2)!=EOF){ result = sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)); printf("%.2f\n", result); } return 0; }
why?:题目的输入格式中明确说明了每组测例的输入是4个实数,而不是4个整数。scanf("%d", &n);这样的写法,在输入中有非数字和空格的字符出现时,读入会失败,但不报错,也不会跳过失败处的字符。所以楼主的程序在遇到第一个小数点的时候就一直重复输入最后一次正确读入的测例的结果了,最终造成输入超限。
second try: accepted
#include<stdio.h> #include<math.h> int main(){ double x1, y1, x2, y2, result; while(scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2)!=EOF){ result = sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)); printf("%.2lf\n", result); } return 0; }
标签:des style blog http color java os strong
原文地址:http://www.cnblogs.com/comeonleo/p/3883865.html