Linux中chown和chmod的區別和用法
阿新 • • 發佈:2021-07-15
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; }