/*
n=strcmp(s1,s2);
s1和s2的同位字符进行比较。
如果s1与s2每个同位的字符完全一样,那n为0;
如果s1的同位字符ASCII码值>s2的,那n为1;
如果s1的同位字符ASCII码值<s2的,那n为-1;
注意:只要有一个同位字符不相同,那么后面的其他同位字符就不进行比较了。
*/
#include "stdio.h"
#include "string.h"
void main()
{
char zd[6][10]={"珠海","广州","南昌","上海","北京","黑龙江"};
int dj[6]={0,55,180,285,195,300};
int zpj=0;//总票价
int i; //循环变量,规定数组编号范围
char qd[10],zod[10];//起点,终点站
int q,z;//起点,终点站数组编号
puts("请输入起点站名:");
gets(qd);
puts("请输入终点站名:");
gets(zod);
for(i=0;i<=5;i++)//规定数组编号范围
{
if(strcmp(qd,zd[i])==0)//比较输入的起点站名与数组中的所有站点名是否一样
q=i;//如果是,记住起点编号
if(strcmp(zod,zd[i])==0)//比较输入的终点站名与数组中的所有站点名是否一样
z=i;//如果是,记住终点编号
}
if(z>q)//如果终点编号大于起点编号
{
for(i=q+1;i<=z;i++)
{
zpj+=dj[i];//累加总票价
}
}
else//如果起点编号大于终点编号
{
for(i=z+1;i<=q;i++)
{
zpj+=dj[i];//累加总票价
}
}
printf("从 %s 到 %s 的总票价是: %d 元
",qd,zod,zpj);
}