⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c˴

📁 详细对一般字符串表达式解析
💻
📖 第 1 页 / 共 2 页
字号:
            rear1=0;<BR>&nbsp; front2=0;<BR>&nbsp; rear2=0;<BR>}</P>
            <P>void pop()&nbsp; //显示结果<BR>{<BR>&nbsp;float QFront(float 
            num1,float num2,char *temp);<BR>&nbsp;float 
            num1,num2;<BR>&nbsp;float sum;<BR>&nbsp;char 
            temp;<BR>&nbsp;temp=qlist[front];&nbsp; 
            //将第一个队列中的头结点读出来<BR>&nbsp;while(count1!=0)&nbsp;&nbsp;&nbsp; 
            //判断第二个队列是否有数<BR>&nbsp;{<BR>&nbsp;temp=qlist[front];&nbsp; 
            //将队列中头结点读出来<BR>&nbsp;sum=QFront(num1,num2,&amp;temp);<BR>&nbsp;count--;<BR>&nbsp;front=(front+1)%MaxQSize;//将第一个队列头指针加1<BR>&nbsp; 
            }<BR>&nbsp;&nbsp; if(count!=0 &amp;&amp; 
            temp=='s')&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; 
            sum=sqrt(qlist2[front2]);<BR>&nbsp; if(count!=0 &amp;&amp; 
            temp=='n')<BR>&nbsp;&nbsp;&nbsp; sum=sin(qlist2[front2]);<BR>&nbsp; 
            if(count!=0 &amp;&amp; temp=='o')<BR>&nbsp;&nbsp;&nbsp; 
            sum=cos(qlist2[front2]);<BR>&nbsp;printf("%f",sum);<BR>}</P>
            <P>float QFront(float num1,float num2,char 
            *temp)<BR>{<BR>&nbsp;float number,numb1;<BR>&nbsp;float 
            QFront1();<BR>&nbsp;void 
            QInsert(float);<BR>&nbsp;num1=QFront1();&nbsp; 
            //先读出一个数<BR>&nbsp;switch(*temp)<BR>&nbsp;{<BR>&nbsp; case 
            '+':<BR>&nbsp;&nbsp; if(count2==0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            num2=QFront1();//读出第二个数<BR>&nbsp;&nbsp; 
            number=num1+num2;<BR>&nbsp;&nbsp;&nbsp; 
            QInsert(number);//将结果存入第三个队列<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=num1+qlist2[front2];<BR>&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; break;</P>
            <P>&nbsp; case '-':<BR>&nbsp;&nbsp; if(count2==0)<BR>&nbsp;&nbsp; 
            {<BR>&nbsp;&nbsp; num2=QFront1();<BR>&nbsp;&nbsp; 
            number=num1-num2;<BR>&nbsp;&nbsp; 
            printf("number=%f\n",number);<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=qlist2[front2]-num1;<BR>&nbsp;&nbsp; 
            printf("number=%f\n",number);<BR>&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; break;</P>
            <P>&nbsp;&nbsp; case '*':<BR>&nbsp;&nbsp; if(count2==0) 
            //如果第三个队列中没有数据,则从第二个队列中读出一个数据<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            num2=QFront1();<BR>&nbsp;&nbsp; number=num1*num2;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; else 
            //否则,从第三个队列中读出数据<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=qlist2[front2]*num1;<BR>&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            break;<BR>&nbsp;&nbsp; case '/':<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
            if(count2==0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            num2=QFront1();<BR>&nbsp;&nbsp; if(num2==0)<BR>&nbsp;&nbsp; 
            {<BR>&nbsp;&nbsp;&nbsp; printf("divied by 0");<BR>&nbsp;&nbsp;&nbsp; 
            ClearStack();<BR>&nbsp;&nbsp;&nbsp; exit(1);<BR>&nbsp;&nbsp; 
            }<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=num1/num2;<BR>&nbsp;&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
            }<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            if(num1==0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
            printf("divide by 0");<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
            ClearStack();<BR>&nbsp;&nbsp;&nbsp;&nbsp; exit(1);<BR>&nbsp;&nbsp; 
            }<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=qlist2[front2]/num1;<BR>&nbsp;&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
            }<BR>&nbsp;&nbsp; break;</P>
            <P>&nbsp;&nbsp; case 's':<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
            if(count2==0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
            number=sqrt(num1);<BR>&nbsp;&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
            number=sqrt(qlist2[front2]);<BR>&nbsp;&nbsp; 
            printf("number=%d\n",number);<BR>&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            break;<BR>&nbsp; case 'n':<BR>&nbsp; if(count2==0)<BR>&nbsp;&nbsp; 
            {<BR>&nbsp;&nbsp;&nbsp; number=sin(num1);<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=sin(qlist2[front2]);<BR>&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; break;</P>
            <P>&nbsp;&nbsp; case 'o':<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
            if(count2==0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
            number=cos(num1);<BR>&nbsp;&nbsp; 
            printf("number=%d\n",number);<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
            number=cos(qlist2[front2]);<BR>&nbsp;&nbsp; 
            printf("number=%d\n",number);<BR>&nbsp;&nbsp; 
            front2=(front2+1)%MaxQSize;<BR>&nbsp;&nbsp; 
            QInsert(number);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 
            break;<BR>&nbsp;}<BR>&nbsp;return number;<BR>&nbsp;}</P>
            <P>float QFront1() //从第一个数据读数据<BR>{<BR>&nbsp; float temp;<BR>&nbsp; 
            if(count1==0)<BR>&nbsp; {<BR>&nbsp;&nbsp; printf("Deleting from an 
            empty queue!\n");<BR>&nbsp;&nbsp; exit(1);<BR>&nbsp;&nbsp; 
            }<BR>&nbsp;&nbsp; temp=qlist1[front1];<BR>&nbsp;&nbsp; 
            count1--;<BR>&nbsp;&nbsp; 
            front1=(front1+1)%MaxQSize;<BR>&nbsp;&nbsp; return temp;<BR>&nbsp; 
            }</P>
            <P>void QInsert(float number)&nbsp; 
            //将结果存入第三个队列<BR>{<BR>&nbsp;if(count2==MaxQSize)<BR>&nbsp;{<BR>&nbsp;&nbsp; 
            printf("Queue overflow!\n");<BR>&nbsp;&nbsp; exit(1);<BR>&nbsp; 
            }<BR>&nbsp; count2++;<BR>&nbsp; qlist2[rear2]=number;<BR>&nbsp; 
            rear2=(rear2+1)%MaxQSize;<BR>&nbsp;&nbsp; }</P>
            <P>其实这个程序用链表实现更好,但是由于时间关系,所以用了数组。当然,这个程序还不是很完善,还有很多地方需要改进,比如可以用图形界面来进行操作、可以将三个队列放入一个结构体中等。看了这个程序后,如果你有什么高见,请与我联系,QQ:150543976(注意:请说出我加你理由)</P></TD>
          <TD width=30>&nbsp;</TD></TR></TBODY></TABLE>
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=577>
        <TBODY>
        <TR>
          <TD height=50 width=30>&nbsp;</TD>
          <TD class=normal_f vAlign=bottom width=547>出处: 
            C语言之家&nbsp;&nbsp;&nbsp;&nbsp;日期:2005-09-19 
</TD></TR></TBODY></TABLE></DIV>
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=577>
        <TBODY>
        <TR>
          <TD bgColor=#c4c4c4><IMG height=1 src="C语言:一个简单计算器.files/x.gif" 
            width=1></TD></TR></TBODY></TABLE>
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=577>
        <TBODY>
        <TR>
          <TD bgColor=#c4c4c4 width="100%">
            <SCRIPT language=JavaScript>document.write("<script src=\"/inc/comment.jsp?channel=news&infoId=11153\"><\/script>");</SCRIPT>
          </TD></TR></TBODY></TABLE>
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=577>
        <TBODY>
        <TR>
          <TD bgColor=#c4c4c4><IMG height=1 src="C语言:一个简单计算器.files/x.gif" 
            width=1></TD></TR></TBODY></TABLE>
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=577>
        <TBODY>
        <TR>
          <TD vAlign=top width="50%">
            <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
              <TBODY>
              <TR>
                <TD rowSpan=7 width=20>&nbsp;</TD>
                <TD class=t_font height=30>相关文章:</TD></TR>
              <TR>
                <TD colSpan=2 vAlign=top>
                  <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%" 
                  valign="top">
                    <SCRIPT language=JavaScript>document.write("<script src=\"/inc/relation.jsp?newskeys=C,C语言,计算器&id=11153\"><\/script>");</SCRIPT>

                    <TBODY></TBODY></TABLE></TD></TR>
              <TR>
                <TD colSpan=2>&nbsp;</TD></TR></TBODY></TABLE></TD>
          <TD vAlign=top>
            <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
              <TBODY>
              <TR>
                <TD rowSpan=7 width=20>&nbsp;</TD>
                <TD class=t_font height=30>相关软件:</TD></TR>
              <TR>
                <TD colSpan=2 vAlign=top>
                  <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%" 
                  valign="top">
                    <SCRIPT language=JavaScript>document.write("<script src=\"/inc/relation_soft.jsp?softkeys=C,C语言,计算器&id=11153\"><\/script>");</SCRIPT>

                    <TBODY></TBODY></TABLE></TD></TR>
              <TR>
                <TD 
colSpan=2>&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
    <TD bgColor=#c4c4c4 vAlign=top width=1><IMG height=1 
      src="C语言:一个简单计算器.files/x.gif" width=1></TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#c4c4c4 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR>
    <TD height=1 width=770><IMG height=1 src="C语言:一个简单计算器.files/x.gif" 
    width=1></TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=770>
  <TBODY>
  <TR>
    <TD><IMG height=18 src="C语言:一个简单计算器.files/last2.gif" 
  width=770></TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript src="C语言:一个简单计算器.files/foot.js"> // </SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -