日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PTA - 简单计算器

發(fā)布時間:2024/1/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PTA - 简单计算器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

習(xí)題6-7 簡單計算器 (20分)

模擬簡單運算器的工作。假設(shè)計算器只能進行加減乘除運算,運算數(shù)和結(jié)果都是整數(shù),四種運算符的優(yōu)先級相同,按從左到右的順序計算。

輸入格式:

輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個操作數(shù)。遇等號”=”說明輸入結(jié)束。

輸出格式:

在一行中輸出算式的運算結(jié)果,或者如果除法分母為0或有非法運算符,則輸出錯誤信息“ERROR”。

輸入樣例:

1+2*10-10/2=

輸出樣例:

10

?

?

我起初的錯誤思路:想要讀成字符數(shù)組,然后以2為步長進行遍歷。后發(fā)現(xiàn)明顯瑕疵,即有的整數(shù)并不是1位數(shù),可能是2位甚至3位,那將給我的字符光標移動帶來巨大困擾。而且求該數(shù)還會用到循環(huán),較為麻煩。

收獲與感悟:從網(wǎng)上研究了一下大佬的代碼。原來我很難操作的運算整數(shù)只需要scanf (%d),這才有所醒悟,像這樣挨在一起的輸入,并不需要考慮全記下來在運算,有種“走一步看一步”的感覺。這里讀入%d,在緩存區(qū)光標就會從頭一直讀(可能讀的位數(shù)達到數(shù)據(jù)要求也會停止?我不太清楚),直至不符合要求,即讀到了字符,就會停止。

?

下面附上代碼:

?

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

?

總結(jié)

以上是生活随笔為你收集整理的PTA - 简单计算器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。