c语言基础题目

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
输入
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
输出
对于每组输入数据,输出一行,结果保留两位小数。
样例输入
0 0 0 1
0 1 1 0样例输出1.00
1.41

我写的运行时都出来正确结果了,可是通不过,怎么回事??

#include<stdio.h>
#include<math.h>
int main()
{
double x1,x2,y1,y2,l;
while(scanf("%lf %lf %lf %lf",&x1,&x2,&y1,&y2)!=EOF)
{
l=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.2lf\n",l);
}}

对数据的读取有问题:
#include<stdio.h>
#include<math.h>
int main()
{
double x1,x2,y1,y2,l;
while(scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2)!=EOF) // 读取顺序是x1,y1,x2,y2
{
l=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.2lf\n",l);
}}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-20

#include<stdio.h>
#include<math.h>
int main()
{
 double x1,x2,y1,y2,l;
 while(scanf("%lf %lf %lf %lf",&x1,&x2,&y1,&y2)!=EOF)
 {
  l=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
   printf("%.2lf\n",l);

    加上括号里面的试试(return  0;)
    }}

第2个回答  2012-11-20
编译问题?请输出编译器结果

main里头来个return 0?
相似回答