#include #include int main(void) { char line[1000],tmp[1000]; int i,j; double x,y,num2; int num; gets(line); while(strcmp(line,"END")!=0) { i=0; x=0.0; y=0.0; while(line[i]!='.') { j=0; tmp[j]=0; while(line[i]!=',' && line[i]!='.') { tmp[j]=line[i]; j++; i++; } tmp[j]='\0'; if (line[i]==',') i++; sscanf(tmp,"%d",&num); num2=sqrt((double)(num*num)/2); /* printf("%s\n",tmp); printf("%d %f\n",num,num2);*/ if (tmp[j-2]=='N' && tmp[j-1]=='E') { x+=num2; y+=num2; } else if (tmp[j-2]=='S' && tmp[j-1]=='E') { x+=num2; y-=num2; } else if (tmp[j-2]=='S' && tmp[j-1]=='W') { x-=num2; y-=num2; } else if (tmp[j-2]=='N' && tmp[j-1]=='W') { x-=num2; y+=num2; } else if (tmp[j-1]=='N') { y+=num; } else if (tmp[j-1]=='S') { y-=num; } else if (tmp[j-1]=='W') { x-=num; } else if (tmp[j-1]=='E') { x+=num; } /* printf("x,y=%f %f\n",x,y);*/ } printf("You can go to (%.3f,%.3f), the distance is %.3f steps.\n",x,y,sqrt(x*x+y*y)); gets(line); } return 0; }