麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

簡易的四則運算

2019-11-17 05:47:05
字體:
來源:轉載
供稿:網友
這個程序自己寫的有些局限,可惜只能對0~9的四則運算起作用,我正在對它進行改進,希望各位能提出好的意見,謝謝!!
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<ctype.h>
#define maxism 15
typedef strUCt stack
{
char stack[maxism];
int top;
}stack;
stack *L;
char after[maxism];
void initialstack(stack *T)

void push(stack *T,int x)

void change()
{
int i=0,j,m=0;
char str[maxism],ch;
gets(str);
i++;
ch=str[i];
initialstack(L);
while(ch!='#')
{
    switch(ch)
    {
        case'(':
           L->top++;
           L->stack[L->top]=ch;
           break;
        case')':
           while(L->stack[L->top]!='(')
           {
              after[m]=L->stack[L->top];
              L->top--;
              m++;
           }
           L->top--;
           break;
        case'+':
        case'-':
           while(L->top!=0&&L->stack[L->top]!='(')
           {
              after[m]=L->stack[L->top];
              L->top--;
              m++;
           }
           L->top++;
           L->stack[L->top]=ch;
           break;
        case'*':
        case'/':
           while(L->stack[L->top]=='*'L->stack[L->top]=='/')
           {
              after[m]=L->stack[L->top];
              L->top--;
              m++;
           }
           L->top++;
           L->stack[L->top]=ch;
           break;
        case' ':
           break;
        default:
           if(ch>='0'&&ch<='9')
           {
              after[m]=ch;
              m++;
           }
           else
           {
              printf("error! ");
              exit(1);
           }
     }
     i++;
     ch=str[i];
  }
while(L->stack[L->top]!=0)

printf("the changed expression is: ");
for(j=0;j<m;j++)
printf("%c",after[j]);
after[m]='#';
printf("%c",after[m]);
}
void  compute(stack *L)
{
int i=0,result,d;
char ch;
initialstack(L);
ch=after[i];
while(ch!='#')
{
    while(ch>='0'&&ch<='9')
    {
       d=ch-'0';
       push(L,d);
       i++;
       ch=after[i];
    }
    switch(ch)
    {
       case'+':
          L->stack[L->top-1]=L->stack[L->top]+L->stack[L->top-1];
          L->top--;
          break;
          case'-':
          L->stack[L->top-1]=L->stack[L->top-1]-L->stack[L->top];
          L->top--;
          break;
      case'*':
          L->stack[L->top-1]=L->stack[L->top]*L->stack[L->top-1];
          L->top--;
          break;
      case'/':
          if(L->stack[L->top-1]==0)
          {
              printf("error due to the wrong input format! ");
              exit(0);
          }
          else
             L->stack[L->top-1]=L->stack[L->top-1]/L->stack[L->top];
          L->top--;
          break;
                                    default:
                                                      break;
                                     }
            i++;
            ch=after[i];
     }
printf(" the final result is:%d",L->stack[L->top]);
}
main()
{int result;
clrscr();
change();
compute(L);
}
 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品1区2区在线观看 | 久久久久九九九女人毛片 | 91a在线观看 | 国产一区二区高清在线 | 久久日本| 成年免费在线视频 | 一级视频片 | 主播粉嫩国产在线精品 | 久久久www成人免费精品 | 成人精品久久 | 一级电影免费在线观看 | 依依成人精品视频 | freexxx69性欧美hd | 久草在线视频免费播放 | 91 久久| 久草免费新视频 | 亚洲成人在线视频网站 | 久久久久久久一区二区三区 | chinese 军人 gay xx 呻吟 | 国产成人精品无人区一区 | 深夜免费视频 | 成人国产精品一区二区毛片在线 | 中文字幕在线观看国产 | 免费一级欧美在线观看视频 | 免费午夜视频在线观看 | 国产精品久久久久久久久粉嫩 | 国产免费高清在线视频 | 久久经典视频 | 国内精品视频饥渴少妇在线播放 | 中文区永久区 | 精品一区二区免费 | 麻豆视频在线播放 | 九九精品在线播放 | 午夜在线视频一区二区三区 | 亚洲精品a在线观看 | 久久精品电影网 | 欧美亚洲一级 | 主播粉嫩国产在线精品 | 日本aaaa片毛片免费观看视频 | 精品国产乱码一区二区 | 国产成人自拍小视频 |