📄 c˴
字号:
rear1=0;<BR> front2=0;<BR> rear2=0;<BR>}</P>
<P>void pop() //显示结果<BR>{<BR> float QFront(float
num1,float num2,char *temp);<BR> float
num1,num2;<BR> float sum;<BR> char
temp;<BR> temp=qlist[front];
//将第一个队列中的头结点读出来<BR> while(count1!=0)
//判断第二个队列是否有数<BR> {<BR> temp=qlist[front];
//将队列中头结点读出来<BR> sum=QFront(num1,num2,&temp);<BR> count--;<BR> front=(front+1)%MaxQSize;//将第一个队列头指针加1<BR>
}<BR> if(count!=0 &&
temp=='s') <BR>
sum=sqrt(qlist2[front2]);<BR> if(count!=0 &&
temp=='n')<BR> sum=sin(qlist2[front2]);<BR>
if(count!=0 && temp=='o')<BR>
sum=cos(qlist2[front2]);<BR> printf("%f",sum);<BR>}</P>
<P>float QFront(float num1,float num2,char
*temp)<BR>{<BR> float number,numb1;<BR> float
QFront1();<BR> void
QInsert(float);<BR> num1=QFront1();
//先读出一个数<BR> switch(*temp)<BR> {<BR> case
'+':<BR> if(count2==0)<BR> {<BR>
num2=QFront1();//读出第二个数<BR>
number=num1+num2;<BR>
QInsert(number);//将结果存入第三个队列<BR> }<BR>
else<BR> {<BR>
number=num1+qlist2[front2];<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR> break;</P>
<P> case '-':<BR> if(count2==0)<BR>
{<BR> num2=QFront1();<BR>
number=num1-num2;<BR>
printf("number=%f\n",number);<BR>
QInsert(number);<BR> }<BR>
else<BR> {<BR>
number=qlist2[front2]-num1;<BR>
printf("number=%f\n",number);<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR> break;</P>
<P> case '*':<BR> if(count2==0)
//如果第三个队列中没有数据,则从第二个队列中读出一个数据<BR> {<BR>
num2=QFront1();<BR> number=num1*num2;<BR>
QInsert(number);<BR> }<BR> else
//否则,从第三个队列中读出数据<BR> {<BR>
number=qlist2[front2]*num1;<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR>
break;<BR> case '/':<BR>
if(count2==0)<BR> {<BR>
num2=QFront1();<BR> if(num2==0)<BR>
{<BR> printf("divied by 0");<BR>
ClearStack();<BR> exit(1);<BR>
}<BR> else<BR> {<BR>
number=num1/num2;<BR>
QInsert(number);<BR> }<BR>
}<BR> else<BR> {<BR>
if(num1==0)<BR> {<BR>
printf("divide by 0");<BR>
ClearStack();<BR> exit(1);<BR>
}<BR> else<BR> {<BR>
number=qlist2[front2]/num1;<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR>
}<BR> break;</P>
<P> case 's':<BR>
if(count2==0)<BR> {<BR>
number=sqrt(num1);<BR>
QInsert(number);<BR> }<BR>
else<BR> {<BR>
number=sqrt(qlist2[front2]);<BR>
printf("number=%d\n",number);<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR>
break;<BR> case 'n':<BR> if(count2==0)<BR>
{<BR> number=sin(num1);<BR>
QInsert(number);<BR> }<BR>
else<BR> {<BR>
number=sin(qlist2[front2]);<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR> break;</P>
<P> case 'o':<BR>
if(count2==0)<BR> {<BR>
number=cos(num1);<BR>
printf("number=%d\n",number);<BR>
QInsert(number);<BR> }<BR>
else<BR> {<BR>
number=cos(qlist2[front2]);<BR>
printf("number=%d\n",number);<BR>
front2=(front2+1)%MaxQSize;<BR>
QInsert(number);<BR> }<BR>
break;<BR> }<BR> return number;<BR> }</P>
<P>float QFront1() //从第一个数据读数据<BR>{<BR> float temp;<BR>
if(count1==0)<BR> {<BR> printf("Deleting from an
empty queue!\n");<BR> exit(1);<BR>
}<BR> temp=qlist1[front1];<BR>
count1--;<BR>
front1=(front1+1)%MaxQSize;<BR> return temp;<BR>
}</P>
<P>void QInsert(float number)
//将结果存入第三个队列<BR>{<BR> if(count2==MaxQSize)<BR> {<BR>
printf("Queue overflow!\n");<BR> exit(1);<BR>
}<BR> count2++;<BR> qlist2[rear2]=number;<BR>
rear2=(rear2+1)%MaxQSize;<BR> }</P>
<P>其实这个程序用链表实现更好,但是由于时间关系,所以用了数组。当然,这个程序还不是很完善,还有很多地方需要改进,比如可以用图形界面来进行操作、可以将三个队列放入一个结构体中等。看了这个程序后,如果你有什么高见,请与我联系,QQ:150543976(注意:请说出我加你理由)</P></TD>
<TD width=30> </TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=577>
<TBODY>
<TR>
<TD height=50 width=30> </TD>
<TD class=normal_f vAlign=bottom width=547>出处:
C语言之家 日期: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> </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> </TD></TR></TBODY></TABLE></TD>
<TD vAlign=top>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD rowSpan=7 width=20> </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> </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 + -