首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一道C语言改错题,小弟我求高手帮一下

2012-03-18 
一道C语言改错题,我求高手帮一下一.改错题(8分*2)1.1 #includestdio.h2 double distance(double x1,doub

一道C语言改错题,我求高手帮一下
一.改错题(8分*2)
1. 
1 #include<stdio.h>
2 double distance(double x1,double y1,double x2=0,double y2=0);
3 int main()
4 {
5 printf("%s%d","the distance is",double distance(2,3));
6 return 0;
7 }
8
9 double distance(double x1,double y1,double x2=0,double y2=0)
10{
11 double x,y;
12 x=x2-x1;
13 y=y2-y1;
14 return sqrt((x*x)+(y*y));
15}

尽量带一些解释,谢谢 哈哈^_^

[解决办法]

C/C++ code
printf("%s%d","the   distance   is",double   distance(2,3)); 改成printf("%s%lf","the   distance   is",distance(2,3)); 输出double类型用%lf,调用函数时不用写出返回类型
[解决办法]
C/C++ code
 printf("%s%d","the   distance   is",double   distance(2,3)); 改成 printf("%s%lf","the   distance   is",distance(2.0,3.0)); //传参的时候注意类型
[解决办法]
嘎嘎,偶来接点分
C/C++ code
//第一个错误,缺少头文件#include<math.h>#include <stdio.h> double   distance(double   x1,double   y1,double   x2=0,double   y2=0); //第2个错误,x2,y2 没有定义,改法:可以在main里面第一再传0值过去,也可以不要申明成double distance(double x1,double y1);然后在distance函数里定义x2,y2; int   main() { printf("%s%d","the   distance   is",double   distance(2,3)); //第三个错误,格式的错误,改法:printf("%s%f","the   distance   is",/*double 不要的,要了就错误了*/ distance(2,3)); return   0; } double   distance(double   x1,double   y1,double   x2=0,double   y2=0)//也属于第二个错误 { double   x,y; x=x2-x1; y=y2-y1; return   sqrt((x*x)+(y*y)); }
[解决办法]
#include <stdio.h> 
#include "math.h"
 double distance(double x1,double y1,double x2=0,double y2=0); 
int main() 

printf("%s%d",distance(2,3,1,2)); 
return 0; 


double distance(double x1,double y1,double x2,double y2) 

double x,y; 
x=x2-x1; 
y=y2-y1; 
return sqrt((x*x)+(y*y)); 

改后的程序

热点排行