一道C语言关于距离的期末题及答案
距离多远:
小明站在一个大广场的中点,从该位置开始,他可以从东(E)、南(S)、西(W)、北
(N)四个方向任选一个方向走一定的距离,之后,他又可以从东、南、西、北四个方向任选一个方
向走一定的距离,如此进行,小明一共走了 n 段距离。现要求编程实
现,由键盘输入 n 及 n 次行走的方向和距离,计算输出最终小明所在
位置距起点的直线距离(结果保留两位小数)。
答案:
#include <stdio.h>
#include <stdlib.h>
#include “math.h”
int main()
{
double x=0, y=0, t;
int n;
char s[10];
scanf(“%d”, &n);
while(n–)
{
scanf(“%s%lf”, s, &t);
switch(s[0])
{
case ‘E’:
x+=t;
break;
case ‘W’:
x-=t;
break;
case ‘N’:
y+=t;
break;
case ‘S’:
y-=t;
break;
}
}
printf(“%.2f”, sqrt(xx+yy));
}