首页 > 资讯 >  >  > 正文

567fff

2023-02-16 01:36:04 来源:热点网

生活中,很多人都不知道567fff,其实非常简单,下面就是小编搜索到的567fff相关的一些知识,我们一起来学习下吧!

K126次列车途径那些站点?

下一站名日到达时间开车时间停车时间距离硬座一等软座硬卧上/中/下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

希望你能解决你的问题。


(资料图)

用简单的C语言实现带括号的四则运算

#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");

标签: 位置指针 小数部分 整数部分

相关阅读
返回顶部