1樓:匿名使用者
這個問題其實很複雜,本人可以提供一個思路:
至少要寫一段程式,能夠解析含有加法減法和括號的表示式。
然後在此基礎上,再實現一下去括號的功能就可以了。
2樓:魔方的第qi面
963438718
篇幅太長,這樣不好寫
3樓:超幸福的小思緒
c++**
#include
#include
#include
using namespace std;
struct charclist[101];
stackkuo;
int main(){
string s;
getline(cin,s);
int i=0; int t=0;
bool check=true,kk;
while(iif(s[i]=='('){kk=true;
if(i>
kuo.push(kk);
if(s[i]==')'){
if(!kuo.top()) check=!check;
if(s[i]>=97&&s[i]<=122){clist[t].a=s[i];
if(i>
else clist[t].check=check;
t++;
i++;
if(!clist[0].check) cout<<'-';
cout else cout<<'-'; cout c語言問題,若a=b,b=4,c=2,則表示式(a-b)+c-1&&b+c/2值為?如題 謝謝了 4樓:無節操ao的 加減抄乘除的優先順序就不用說了,邏輯 襲運bai算的優先順序要低於du 算術運算 所以上面的表示式相當 zhi於(a-b+c-1)dao&&(b+c/2) a-b+c-1=1,b+c/2=5在邏輯運算中相當於真1,整個運算的結果就是1&&1==1求採納 c語言程式設計,已知三角形的三邊長a,b,c,計算求三角形面積的公式為: 5樓:丿 程式**如下: #include #include int main() 擴充套件資料: 三角形具有以下性質: 1、三角形任意兩邊之和大於第三邊,任意兩邊之差小於第三邊。 2、在平面上三角形的內角和等於180°(內角和定理)。 3、在平面上三角形的外角和等於360° (外角和定理)。 4、三角形的三條角平分線交於一點,三條高線的所在直線交於一點,三條中線交於一點。 5、三角形的任意一條中線將這個三角形分為兩個面積相等的三角形。 6樓:匿名使用者 1、公式:area = sqrt(s*(s-a)*(s-b)*(s-c)) 2、**: printf("依次輸入a,b,c(空格識別一個數):"); scanf("%f%f%f,",&a,&b,&c); s=(float)0.5*(a+b+c); area = (float)sqrt(s*(s-a)*(s-b)*(s-c)); printf("面積為:%f",area); }擴充套件資料舉例: a=3.67;b=5.43; c=6.21; 1、int main() 參考資料
7樓:匿名使用者 #include int main() else }else printf("\n"); return 0;} 8樓:bboy鶴 #include #include void main() **如上 很簡單的 自己多動手 9樓:匿名使用者 #include #include int main () 10樓:匿名使用者 這個問題不難的,還是自己思考下吧 在c語言的環境下,a=5;b=a++;c=--a-b++;d=(a++)-(++b)+c--;結果是多少,怎麼算? 11樓:匿名使用者 首先進行第一步「a=5」:將5賦給a,這樣實現了a=5 然後進行第二步「b=a++」,由於++為字尾,所以先將a值賦給b,結果b=5,然後進行a++運算,a=6 然後進行第三步「c=--a-b++」,首先--為字首,所以先運算--a,結果a=5,由於++為字尾,所以接下來先運算c=a-b,結果c=5-5.為0,最後進行b++運算,結果b=6 最後一步「d=(a++)-(++b)+c--」,先運算括號裡面的「a++」和「++b」,結果a=6,b=7,由於--為字尾,所以先運算d=a-b+c,也就是d=6-7+1=0,最後運算c--。結果c=-1 以上是運算結果,考的主要是運算的優先順序,是這樣的,看見括號裡面的,先運算括號裡面的,沒有括號的,你要看++或是--,是字首,還是字尾,如果是字首的話,先運算++或是--運算,如果是字尾的話,你就先運算整個式子,運算完了整個式子,再運算++或是--運算,至於具體的例子,我給你的計算過程,你可以自己結合著體會一下,有什麼不明白的,就追問我。 12樓:匿名使用者 a=5; b=a++,這部之後b=5,a=6 c=--a-b++這步之後c=0,a=5,b=6d=(a++)-(++b)+c--這步之後d=0,a=6,b=7,c=-1 13樓:猶望亭菅羅 1.switch結構分支沒加break;跳出語句,開始執行後,程式由x=1調到case1分支 a++(a由0自己加為1),由於沒有break語句,程式繼續執行到case2分支 a++b++(a由1自加變2,b由0自加為1),之後程式printf輸出 a=2,b=1 2.新增break後,結果是a=1,b=0#include "stdio.h" main() printf("a=%d,b=%d\n",a,b);} c語言上的問題 !(a+b)+c-1&&b+c/2的值 a=3,b=4,c=5 14樓:聽不清啊 整個表示式的值為真(即 1) !(a+b)=!7=0 !(a+b)+c-1=0+5-1=4 b+c/2=4+2=6 原式=4&&6=1 //兩個非0的值,即兩個true,相與的值,仍為true,即1 15樓:匿名使用者 根據從左到右計算順序,結合運算子優先順序,根據定義 a = 3, b = 4, c = 5,假定 a,b,c 為 int。真值為1,假值為0。 計算步驟如下: 1、計算 a + b,結果為 a + b = 7 2、計算 !( a + b) 結果為 0,也可以認為是false(假)。 3、計算 c/2,假定c為int時,結果為 2(取整),為float或者double時為2.5,但不影響最終結果,因為都是真值(非零值)。 4、計算 0 + c,結果為 5 5、計算 5 -1,結果為 4。 6、計算 b + 2 或者 b + 2.5,結果為 6 或者 6.5。 7、計算 4 && 6 後者 4 && 6.5,因為兩邊都為非零值,所以結果為 1,或者true。 這裡主要是一個運算子優先順序的問題,在本表達多中。 小括號的優先順序最高,所以最先計算括號內的值。 其次是邏輯非,然後是除法,然後是 加減法,最終是 邏輯與。 16樓:匿名使用者 這個是邏輯運算只討論真假,與數值沒有多大關係只要弄懂運算級別高低就可以最後結果為一,不懂可以mm我 17樓:匿名使用者 ()優先順序最高先算 !(a+b) =!7=0算術運算子大於&& 所以先算c-1=4 * /大於加減先算c/2=2然後加b等於6最後相與 4&&6 真與真還是真 最後等於1 18樓:麒麟也涅槃 a=3,b=4,c=5 a+b=7 !7=0 c-1=4 為真 b+c/2 不為0 所以也是真 真&&真 值為真 即=1 19樓:k寂寞的小炮 結果等於1 !(a+b) = 0; 0+c-1 = 4; b+c/2 = 6; 6&&4 = 1; 20樓:匿名使用者 整個表示式為1啊··· 21樓:有郊範圍 !(a+b)+c-1&&b+c/2=1 22樓:皚子萋萋 !(a+b)=0;1&&b=1;所以0+5-1+5/2=6 c語言程式設計,三角形面積的海**式為:area=開根號[s(s-a)(s-b)(s-c],其中s=(a+b+c)/2, a、b、c是三角形的 23樓: double sum(double a,double b,double c) double area(double a,double b,double c) void main() else printf("input error.");} 24樓: #include #include void main() printf("三角形的面積是:"); printf("%d\n",area); printf("三角形的周長是:"); printf("%d\n",s*2);}}輸入3 4 5 中間間隔為空格 25樓:淳淳 include int a,b,c; real s,area; void main() 是給leap 這個物件賦值,賦的值是一個布林型的變數 可以用括號讓表示式明確點。year 4 0 year 100 0 year 400 0 是求餘。意思就是。變數year 對對4整除但是又不對100整除。或者對400整除。本質是求year是否為閏年。如果是閏年,則leap true,否則則leap... 範 第一個 n n n n 是從右往左結合的,n n n n n n n 2 前面是 n n n 4 第二個,不清楚,反正 是 與 命題,就是必須滿足兩邊同時成立才為真 第二個問題 輸出 和 就不用說了,我們說說3 4 5 x 2 d d n 意思是x對2求餘,從x 3開始直到x 6結束,如果除得盡... 倒黴熊 c語言中,為了加快編譯速度,有一條這樣的規定,當一個邏輯表示式的值能夠確定下來的時候,它不會執行下面的語句。例如 a b這個表示式,如果a為假,則 a b一定為假,不管b為真,還是假,也就是a等於假時,這個表示式的值已經確定了。所以b不會執行了。但,如果a為真,則 a b的值就確定不了,因為...C語言的一些表示式,求c語言表示式大全
c語言一道簡單表示式的結合方向和優先順序別的題
關於c語言邏輯表示式的問題,求高手啊