#include <stdio.h>
#define NUMPLACE 3
#define NOP -1.0
//1-D array to keep track of the place names
char places[NUMPLACE] = { 'A','B','C'};
//2-D array for the adjacency matrix representation
float roads [NUMPLACE][NUMPLACE] = {
{0.0,3.5,NOP},
{3.2,0.0,2.8},
{3.1,NOP,0.0}
};
int main(void){
int from;
int to;
char origin, dest;
printf("From>>");
scanf("%c",&origin);
for(from = 0;from < NUMPLACE ; from++)
{
if(places[from]== origin)
break;
}
//ape function getchar
//try run without it
//Obtain the origin’s place name from the user and find index
//associated with the place name
printf("To>>");
getchar();
scanf("%c",&dest);
for(to = 0;to < NUMPLACE ; to++)
{
if(places[to]== dest)
break;
}
//Obtain the destination’s place name from the user and find index
//associated with the place name
printf("From %c to %c ", places[from], places[to]);
if (roads [from][to] == NOP )
printf("No direct road.\n");
else
printf("%2.1f km \n",roads [from][to]);
//Obtain the distance from the adjacency matrix.
//If there’s no path, then display “No direct road.”
return(0);
}
Comments