/*===================================== 簡單算術表達式求值 總時間限制: 1000ms 內存限制: 65536kB 描述 2位正整數的簡單算術運算(只考慮整數運算),算術運算爲: +,加法運算 -,減法運算 *,乘法運算 /,除法運算 %,取餘運算。 運算符先後可能有空格. 算術表達式的格式爲: 運算數 運算符 運算數 請輸出相應的結果。 輸入 算術表達式,如: 32+64 輸出 整形算數運算的結果(結果值不必定爲2位數,可能多於2位或少於2位),例如 96 樣例輸入 32+64 樣例輸出 96 ======================================*/
1 #include<stdio.h> 2 int main() 3 { 4 char str[50],c; 5 int a=0,b=0,res,i=0; 6 int flag=1; 7 //freopen("4.in","r",stdin); 8 gets(str); 9 while(str[i]!='\0') 10 { 11 if(str[i]>='0'&&str[i]<='9') 12 { 13 if(flag==1) 14 { 15 a=a*10+str[i]-'0'; 16 } 17 else 18 { 19 b=b*10+str[i]-'0'; 20 } 21 } 22 else if(str[i]!=' ') 23 { 24 c=str[i]; 25 flag++; 26 } 27 i++; 28 } 29 switch(c) 30 { 31 case '+': 32 res=a+b; 33 break; 34 case '-': 35 res=a-b; 36 break; 37 case '*': 38 res=a*b; 39 break; 40 case '/': 41 if(b==0) return 0; 42 res=a/b; 43 break; 44 case '%': 45 if(b==0) return 0; 46 res=a%b; 47 break; 48 } 49 printf("%d\n",res); 50 return 0; 51 }