生活中,很多人都不知道567fff,其实非常简单,下面就是小编搜索到的567fff相关的一些知识,我们一起来学习下吧!
下一站名日到达时间开车时间停车时间距离硬座一等软座硬卧上/中/下1西安-起点站21:30-0---2渭南首日22:1122:198分56公里0612-0658/0663/0663华山第一天23:0923:112分123公里0620-0666/0671/06744三门峡第二天00:4900:512分265公里0642-0688/0693/06965洛阳第二天023:23023 06106/061096巩义次日03:0103:032分441公里0665-06116/06120/061237郑州次日03:5804:1416分511公里0673-06130/061333/061378新乡第二天05:0805:124分591公里0682-06145/06149/061559安阳第二天06:4306:452分698公里0694-06164/0617510邯郸第二天07:520833 06185/0619111沙河市次日08:3708:392分786公里06106-06185/0619712邢台次日08:5508:572分810公里06106-06185/06191/0619713高邑次日09:3310:0027分872公里06116-06201/0621514石家庄次日10:5911:078分923公里06120-06208/06216/0622215藁城次日11:3511:372分956公里06125-06216/06224/0623116晋州次日1133605113360532分973公里06125-06216/06224/0623117任丘次日1:41:432分1168公里06150-06256/06265/0627418霸州次日14:1814:202分1223公里06154-06263/06272/0628119天津第二天15:5316:1017分1310公里06165-06282/0630120唐山第二天17:3217:397分1433公里06175-06298/06308/0631921迁安第二天18:3218:364分1501公里06182-06312/063323/063322山海关第二天20:1520:2611分1606公里06194-06330/06341/0635323绥中第二天21:0821:113分1671公里06200-06339/063351/0636324葫芦岛第二天21:5421:573分1740公里06203-06345/06357/0636925锦州第二天22:3622:415分钟1790公里06208-06355/06367/0637926沟助子第二天23:2023:233分钟1854公里06215-06365/0639027号锦第二天2:4623360482分1885公里06215-06365/0639028鞍山第三天01:0901:123分1998公里06226-06383/06395/0640929沈阳北第三天02:2002:288分2090公里06238-06401/06401/0643030四平第三天04:3704:392分2275公里06253-06428/064443/0645831公主岭第三天05:1205:142分2328公里06253-06428/064443/0645832长春第三天05:57终到-2390公里06257-06437/06452/06467
希望你能解决你的问题。
(资料图)
#include/*库文件包含*/
#include/*用于字符串操作*
#include/*是exit函数*/
/* * * * * * * * * * * * * * * * * *
是intcheck(char*c )
输入参数:
char*c:输入的字符串
返回参数:
0 :字符串中有不符合规定的字符
1:字符串字符符合规定,没有不符合规定的字符。
检查字符串中是否有除法
了0-9,+,-,*,/,(,),之外的其他字符,如果有,则返回0,表示出现错误。
若没有,则返回1,表式字符串符合规定。
**************************************************************************/
intcheck(char*c)
intk=0;
while(*c!="\0")
if((*c>="0"&&*c<="9")||*c=="+"||
*c=="-"||*c=="*"||*c=="/"||
*c=="."||*c=="("||*c==")")
printf("inputerror,therehavethecharnotthemathexpressionchar!\n");
return0;
if(*c=="(")
elseif(*c==")")
if(k!=0)
printf("inputerror,thereisnothavecorrectbracket"()"!\n");
return0;
return1;
/**************************************************************************
voidmove(char*f,double*s,intp)
输入参数:
char*f:运算符数组
double*s:数值数组
intp:当前运算符数组位置。
返回参数:
将当前已经完成运算的运算符消去,同时将数值数组的位置调整以进行下一次运算。
传入值p若为3
则当前符号的数组位置为3.
f[3]=f[3+1].......f[len-2]=f[len-1]f[len-1]="\0";
s[i]=s[i+1].......s[len-1]=s[len]因为数值比运算符多一个。
***************************************************************************/
voidmove(char*f,double*s,intp)
inti=0,len=strlen(f);
for(i=p;i
{/*即把乘和除号的位置用后面的加和减号填充*/
f[i]=f[i+1];
s[i]=s[i+1];
s[i]=s[i+1];
f[len-1]="\0";
/**************************************************************************
doubleconvnum(char*c)
输入参数:
char*c:由数字和小数点组成的字符,用以转换成double型的数值。
返回参数:
num:返回转换好的值。
将输入的字符串先将其小数点以前的部分复制到temp[]数组中,
若有小数点,则将小数点之后的数值,也就是小数部分先进行计算,值存入num中
计算完成后,再对整数部分进行计算,值加上小数部分的值,存入num中。
***************************************************************************/
doubleconvnum(char*c)
doublenum=0.0;
doublea=1.0;
inti=0,p=0,len=0;
chartemp[100];
inttempi=0;
intstart=0;
intf=1;/*正负符号指示器,若为1则为正数,为-1,此数为负数*/
len=strlen08;
if(c[0]=="-")
start=1;
f=-1;
for(i=start;i
if(c[i]==".")
break;
temp[tempi++]=c[i];/*将整数部分复制到temp[]中*/
temp[tempi]="\0";
if(p!=0)
for(i=p+1;i
if(c[i]==".")/*如果有多余的小数点,则表示输入错误*/
printf("thereismorethatonedot"."innumber!error!\n");
exit(0);
a=a*0.1;
num+=(a*(c[i]-48));
a=1.0;
len=strlen(temp);/*计算整数部分*/
for(i=len-1;i>=0;i--)
num=num+(a*(temp[i]-48));
a*=10;
num=num*f;
returnnum;
/**************************************************************************
doublegood(char*c)
输入参数:
char*c:即将进行运算的字符串型数学表达式。如3.5+(2*3/5)
返回参数:
s[0]:计算结果将放入s[0]中
将输入的字符串中的数字分别调用convnum(char*c)函数进行数值变换,再将其依
次存入doulbes[i]中,将加减乘除运算符依次存入字符串符号数组charf[i]中,
然后如果遇到括号,则将括号内的字符串存入另一字符数组中,然后用此
good(char*c)递归函数进行递归运算。然后根据先乘除,后加减的顺序对已
存入数组的数值根据存入字符串符号数组的运算符进行运算。结果存入s[0]中。
返回最终结果。
***************************************************************************/
doublegood(char*c)/*可递归函数*/
{/*取得数值字符串,并调用convnum转换成double*/
charg[100],number[30];/*g,保存当前的表达式串,number保存一个数的所有字符*/
charf[80];/*保存所有的符号的堆栈*/
intfi=0;/*保存符号的位置指针*/
doubles[80];/*保存当前所有的数的一个堆栈*/
intsi=0;/*保存数字位置指针*/
intk=0;/*若k=1则表示有一对括号*/
intnum=0,i=0;/*num保存新括号内的字符数,i保存number里的字符位置*/
intcc=0;/*乘除符号数量*/
intjj=0;/*加减符号数量*/
while(*c!="\0")/*当p==1和k==0时,表示已经把括号里的内容全部复制到g[100]中了*/
num=0;
switch(*c)
case"+":/*当前字符为+-乘除时则表示*/
case"-":
case"*":
case"/":
f[fi++]=*c;
if(*c=="*"||*c=="/")
cc++;
jj++;
if(*(c-1)!=")")
number[i]="\0";
i=0;/*完成一个数字的复制,其位置指针i=0*/
s[si++]=convnum(number);
break;
case"(":/*有括号,则将当前括号作用范围内的全部字符保存,作为*/
k++;/*一个新的字符表达式进行递归调用good函数计算。*/
while(k>0)
g[num]=*c;
num++;
if(*c==")")
elseif(*c=="(")
g[num-1]="\0";
num=0;/*完成一个括号内容的复制,其位置指针num=0*/
s[si++]=good(g);
break;
default:
number[i++]=*c;
if(*(c+1)=="\0")
{number[i]="\0";
s[si++]=convnum(number);
break;
f[fi]="\0";
while(cc>0)
switch(f[i])
case"*":cc--;
s[i+1]=s[i]*s[i+1];
move(f,s,i);
break;
case"/":cc--;
s[i+1]=s[i]/(float)s[i+1];
move(f,s,i);
break;
default:
break;
while(jj>0)
switch(f[i])
case"+":s[i+1]=s[i]+s[i+1];
jj--;
move(f,s,i);
break;
case"-":s[i+1]=s[i]-s[i+1];
jj--;
move(f,s,i);
break;
default:
printf("operatorerror!");
break;
returns[0];
voidmain()
charstr[100];
doublesum=0;
intp=1;
while(1)
printf("enterexpression:enter"exit"endofprogram\n");
scanf("%s",str);
p=strcmp(str,"exit");
if(p==0)
break;
p=check(str);
if(p==0)
continue;
sum=good(str);
printf("%s=%f",str,sum);
printf("\n");
printf("goodbye!\n");
Copyright © 2015-2022 世界物业网版权所有 备案号:琼ICP备2022009675号-1 联系邮箱:435 227 67@qq.com