#include <math.h>
struct Point
{
double x, y
}
/** Calculate the distance of two points. */
double distance(const struct Point *a, const struct Point *b)
{
return sqrt((a->x-b->x)*(a->x-b->x)+(a->y-b->y)*(a->y-b->y))
}
int main()
{
struct Point a, b
printf("Please input the first point: ")
scanf("%lf%lf", &a.x, &a.y)
printf("Please input the second point: ")
scanf("%lf%lf", &b.x, &b.y)
printf("The distance of the two point is %f.\n", distance(&a, &b))
return 0
}
说明:
1、distance() 函数的两个参数 const struct Point *a 和 b 使用了 const 修饰,是表示 a 和 b 在函数执行过程中不会被修改;这样即使函数体内部写错,修改了 a 和 b 的值,编译也不会通过。
2、对 double,scanf 用 %lf,printf 用 %f。
以上。
#include "Conio.h"#include "graphics.h"
#define closegr closegraph
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0/* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver)/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "")
}
void DrawCoord()
void Drawstg()
void Drawcurve()
int main(void)
{
initgr()/* BGI初始化 */
DrawCoord()
Drawstg()
Drawcurve()
getch()/* 暂停一下,看看前面绘图代码的运行结果 */
closegr()/* 恢复TEXT屏幕模式 */
return 0
}
void DrawCoord() /*画坐标系*/
{
line(50,40,50,400)/*y轴*/
line(50,400,600,400)/*x轴*/
line(50,40,45,50)/*箭头*/
line(50,40,55,50)
line(600,400,590,395)
line(600,400,590,405)
outtextxy(35,45,"y")
outtextxy(590,410,"x")
outtextxy(40,410,"O")
}
void Drawstg() /*画标尺*/
{
int x,y,i
x=50,y=400
for(i=0i<17i++)
{
line(x+5,y,x,y)
y-=20
}
x=50,y=400
for(i=0i<26i++)
{
line(x,y-5,x,y)
x+=20
}
}
void Drawcurve()/*画图示例*/
{
line(50,400,500,400-250)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)