習題6-7 簡單計算器 (20 分)
阿新 • • 發佈:2019-01-09
模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。
輸入格式:
輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個運算元。遇等號”=”說明輸入結束。
輸出格式:
在一行中輸出算式的運算結果,或者如果除法分母為0或有非法運算子,則輸出錯誤資訊“ERROR”。
輸入樣例:
1+2*10-10/2=
輸出樣例:
10
找規律,不要慫
#include<stdio.h>
int main()
{
int b[100],i=0,flage=0,m;
char a[100]={0};
for(i=0;i< 100;i++)//運用for迴圈可以將所要使用的資料一次性輸入儲存
{
scanf("%d%c",&b[i],&a[i]);
if(a[i]=='=')
break;
}
i=0;
while(1)
{
if((a[i]!='+'&&a[i]!='-'&&a[i]!='*'&&a[i]!='/'&&a[i]!='=')||(a[i]=='/'&&b[i+1]==0))
{
printf("ERROR");
flage=1;
}
if(flage)
break ;
while(a[i]!='=')
{
switch(a[i])
{
case '*':
b[i+1]=b[i]*b[i+1];
break;
case '/':
b[i+1]=b[i]/b[i+1];
break;
case '+':
b[i+1]=b[i]+b[i+1];
break;
case '-':
b[i+1]=b[i]-b[i+1];
break;
}
i++;
}
printf("%d",b[i]);
break;
}
return 0;
}