1. 程式人生 > 其它 >Linux中chown和chmod的區別和用法

Linux中chown和chmod的區別和用法

7-149 簡單計算器 (20 分)

模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。
輸入格式:

輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個運算元。遇等號”=”說明輸入結束。
輸出格式:

在一行中輸出算式的運算結果,或者如果除法分母為0或有非法運算子,則輸出錯誤資訊“ERROR”。
輸入樣例:

1+2*10-10/2=

輸出樣例:

10

俺自己寫滴。

#include<stdio.h>
int main()
{
    int a[1000];
    char b[1000];
    int i=0,sum=0,f=0;
    do
    {
        scanf("%d",&a[i]);
        scanf("%c",&b[i]);
        i++;
    }while(b[i]!='=');
    sum=a[0];
    for(i=0;b[i]!='=';i++)
    {
        
        if(b[i]=='+'){sum+=a[i+1];}
        else if(b[i]=='-'){sum-=a[i+1];}
        else if(b[i]=='*'){sum*=a[i+1];}
        else if(b[i]=='/'){if(a[i+1]==0){f=1;break;}else sum/=a[i+1];}
        else {f=1;}
        
    }
    if(f==0)printf("%d\n",sum);
    else printf("ERROR");
}

網上滴(線上處理,不需要陣列,更優)

#include<stdio.h>
int main(){
    char c;
    int re=0,t,flag=0;
    scanf("%d%c",&re,&c);
    while(c!='='&&flag==0){
        switch(c){
            case '+':scanf("%d",&t);re+=t;break;
            case '-':scanf("%d",&t);re-=t;break;
            case '*':scanf("%d",&t);re*=t;break;
            case '/':scanf("%d",&t);
                    if(t==0){flag=1;break;}
                    re/=t;break;
            default:flag=1;break;
    }
        scanf("%c",&c);
    }
        if(flag==1)printf("ERROR");
        else printf("%d",re);
    return 0;
}