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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cdoj 秋实大哥搞算数

發(fā)布時(shí)間:2024/4/14 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cdoj 秋实大哥搞算数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

地址:http://acm.uestc.edu.cn/#/contest/show/95

題目:

N - 秋實(shí)大哥搞算數(shù)

Time Limit: 3000/1000MS (Java/Others) ??? Memory Limit: 65535/65535KB (Java/Others)
Submit Status

秋實(shí)大哥大學(xué)物理掛科了(誤),于是在下學(xué)期的前兩周的某一天要悲劇的補(bǔ)考。為了不給學(xué)校的挖掘機(jī)大樓做貢獻(xiàn),秋實(shí)大哥決定在假期里努力復(fù)習(xí)。當(dāng)然,良好的計(jì)算能力也是非常必要的,畢竟是涉及計(jì)算自己做多少分的題能夠通過考試的問題。現(xiàn)在他給自己出了一大堆長長的只有涉及整形四則運(yùn)算式子,然后埋頭計(jì)算結(jié)果。為了檢驗(yàn)自己的計(jì)算能力,他請你來幫忙。

Input

第一行一個(gè)整數(shù)T,表示式子的總數(shù)。

接下來每一行有一個(gè)長度不超過10^6的表達(dá)式,只包含正整數(shù)和四則運(yùn)算符號(hào)('+', '-', '*', '/')。

保證輸入合法。

Output

對于每一個(gè)表達(dá)式,輸出相應(yīng)的結(jié)果,占一行。

保證運(yùn)算及結(jié)果在long long范圍以內(nèi)。

Sample input and output

Sample InputSample Output
2 12+5/4-1 4*5/3 12 6

思路:

,,wa次數(shù)最多的題目,,一開始沒判\(zhòng)r(第一見要判這個(gè)的,漲姿勢了),,,wa無數(shù)次

然后智商不夠,用棧搞不出來,又只能自己想了。。。。。。

???????? 我的做法是對答案有影響的就三個(gè)操作符,當(dāng)前讀取的操作符,和前兩個(gè),然后對所有情況分類討論,,,這樣就可以在讀取的時(shí)候做的一邊讀取一邊計(jì)算了。。。

1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cmath> 5 #include <cstring> 6 #include <queue> 7 #include <stack> 8 #include <map> 9 #include <vector> 10 #include <cstdlib> 11 #include <string> 12 13 #define PI acos((double)-1) 14 #define E exp(double(1)) 15 using namespace std; 16 17 int main (void) 18 { 19 int t; 20 cin>>t; 21 getchar(); 22 while(t--) 23 { 24 long long num[5],ans=0; 25 char op[5],c; 26 scanf("%lld",&num[1]); 27 if(scanf("%c",&c)==EOF||c=='\n') 28 { 29 printf("%lld\n",num[1]);continue; 30 } 31 op[2]=c;//3為當(dāng)前操作數(shù) 32 scanf("%lld",&num[2]); 33 while(scanf("%c",&op[3])!=EOF && op[3]!='\n') 34 { 35 scanf("%lld",&num[3]); 36 if(op[3]=='*'||op[3]=='/') 37 { 38 if(op[2]=='+'||op[2]=='-') 39 { 40 if(op[3]=='*')num[2]*=num[3]; 41 else num[2]/=num[3]; 42 43 } 44 else 45 { 46 if(op[2]=='*') num[1]*=num[2]; 47 else num[1]/=num[2]; 48 num[2]=num[3]; 49 op[2]=op[3]; 50 } 51 52 } 53 else 54 { 55 if(op[2]=='+'||op[2]=='-') 56 { 57 if(op[2]=='+') num[1]+=num[2]; 58 else num[1]-=num[2]; 59 num[2]=num[3]; 60 op[2]=op[3]; 61 } 62 else 63 { 64 if(op[2]=='*') num[1]*=num[2]; 65 else num[1]/=num[2]; 66 num[2]=num[3]; 67 op[2]=op[3]; 68 } 69 } 70 } 71 if(op[2]=='*') ans=num[1]*num[2]; 72 else if(op[2]=='/') ans=num[1]/num[2]; 73 else if(op[2]=='+') ans=num[1]+num[2]; 74 else ans=num[1]-num[2]; 75 printf("%lld\n",ans); 76 } 77 78 return 0; 79 } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/weeping/p/5456145.html

總結(jié)

以上是生活随笔為你收集整理的cdoj 秋实大哥搞算数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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