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

📄 convert.c

📁 一道convert的C语言作业题
💻 C
字号:
#include<stdio.h>
#include<string.h>
char str[50][1000],si[1000],t[1000];
long gra[1000];
int main(){
    long l,sn,i,j,k;
    gets(si);
    l=strlen(si);
    sn=0;
    i=0;j=0;
    while (j<l){
          while ((j<l)&&(si[j]!=' '))
                j++;
          if ((j==i+1)&&(si[i]=='+')){
             sn--;
             if (gra[sn-1]<0){
                strcpy(t,str[sn-1]);
                strcpy(str[sn-1],"(");
                strcat(str[sn-1],t);
                strcat(str[sn-1],")");
             }
             strcat(str[sn-1],"+");
             if ((gra[sn]==1)||(gra[sn]==2)||(gra[sn]<0)){
                strcpy(t,str[sn]);
                strcpy(str[sn],"(");
                strcat(str[sn],t);
                strcat(str[sn],")");
             }
             strcat(str[sn-1],str[sn]);
             gra[sn-1]=1;
             gra[sn]=0;
          }
          else if ((j==i+1)&&(si[i]=='-')){
               sn--;
               if (gra[sn-1]<0){
                  strcpy(t,str[sn-1]);
                  strcpy(str[sn-1],"(");
                  strcat(str[sn-1],t);
                  strcat(str[sn-1],")");
               }
               strcat(str[sn-1],"-");
               if ((gra[sn]==1)||(gra[sn]==2)||(gra[sn]<0)){
                  strcpy(t,str[sn]);
                  strcpy(str[sn],"(");
                  strcat(str[sn],t);
                  strcat(str[sn],")");
               }
               strcat(str[sn-1],str[sn]);
               gra[sn-1]=2;
               gra[sn]=0;
          }
          else if ((j==i+1)&&(si[i]=='*')){
               sn--;
               if ((gra[sn-1]==1)||(gra[sn-1]==2)||(gra[sn-1]<0)){
                  strcpy(t,str[sn-1]);
                  strcpy(str[sn-1],"(");
                  strcat(str[sn-1],t);
                  strcat(str[sn-1],")");
               }
               strcat(str[sn-1],"*");
               if (gra[sn]!=0){
                  strcpy(t,str[sn]);
                  strcpy(str[sn],"(");
                  strcat(str[sn],t);
                  strcat(str[sn],")");
               }
               strcat(str[sn-1],str[sn]);
               gra[sn-1]=3;
               gra[sn]=0;
          }
          else if ((j==i+1)&&(si[i]=='/')){
               sn--;
               if ((gra[sn-1]==1)||(gra[sn-1]==2)||(gra[sn-1]<0)){
                  strcpy(t,str[sn-1]);
                  strcpy(str[sn-1],"(");
                  strcat(str[sn-1],t);
                  strcat(str[sn-1],")");
               }
               strcat(str[sn-1],"/");
               if (gra[sn]!=0){
                  strcpy(t,str[sn]);
                  strcpy(str[sn],"(");
                  strcat(str[sn],t);
                  strcat(str[sn],")");
               }
               strcat(str[sn-1],str[sn]);
               gra[sn-1]=4;
               gra[sn]=0;
          }
          else{
               for (k=i;k<j;k++)
                   str[sn][k-i]=si[k];
               str[sn][j-i]='\0';
               if (str[sn][0]=='-')
                  gra[sn]=-1;
               else
                   gra[sn]=0;
               sn++;
          }
          i=j+1;j=i;
    }
    printf("%s\n",str[0]);
    scanf("%ld",&sn);
    return 0;
}

⌨️ 快捷键说明

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