C++邏輯運算式運算 邏輯運算式運算 由大寫英文字母和符號~、*、+、()組成邏輯運算式,其中三個符號分別表示邏輯非、與、或運算,英文字母表示變數,變數有兩種可能的取值,FALSE(0)或TRUE(1),、*、+、括弧()可改變運算式的運算次序,且可以嵌套.編一個程式計算邏輯運算式的值. 【輸入格式】 輸入為若干行 第一行字串s(1

C++邏輯運算式運算 邏輯運算式運算 由大寫英文字母和符號~、*、+、()組成邏輯運算式,其中三個符號分別表示邏輯非、與、或運算,英文字母表示變數,變數有兩種可能的取值,FALSE(0)或TRUE(1),、*、+、括弧()可改變運算式的運算次序,且可以嵌套.編一個程式計算邏輯運算式的值. 【輸入格式】 輸入為若干行 第一行字串s(1


#include
using namespace std;
#define MAXSIZE 100
#define CHARNUM 26
//定義棧結構體
typedef struct _stack
{
char data[MAXSIZE];
int top;
} stack;
//將輸入邏輯運算式字串轉換為逆波蘭式的字串
void translate(const char *p,char *pout)
{
stack op;
op.top=-1;
int i=0;
while(*p!='\0')
{
switch(*p)
{
case '(':
op.data[++op.top]=*p;
*p++;
break;
case ')':
while(op.data[op.top]!='(')
{
pout[i++]=op.data[op.top];
op.top--;
}
op.top--;
*p++;
break;
case ':
op.data[++op.top]=*p;
*p++;
break;
case '*':
case '+':
while((op.top!=-1)&&(op.data[op.top]!='('))
{
pout[i++]=op.data[op.top];
op.top--;
}
op.data[++op.top]=*p;
*p++;
break;
case ' ':
break;
default:
pout[i++]=*p;
*p++;
}
}
while(op.top!=-1)
{
pout[i++]=op.data[op.top];
op.top--;
}
pout[i]='\0';
}
//逆波蘭式的求解
bool calculator(const char* str)
{
stack st;
st.top=-1;
char ch0,ch1,c;
while(*str!='\0')
{
switch(*str)
{
case '0':
case '1':
st.data[++st.top]=*str;
break;
case ':
ch0=st.data[st.top--];
c=!(ch0-'0')+'0';
st.data[++st.top]=c;
break;
case '+':
ch0=st.data[st.top--];
ch1=st.data[st.top--];
c=((ch0-'0')||(ch1-'0'))+'0';
st.data[++st.top]=c;
break;
case '*':
ch0=st.data[st.top--];
ch1=st.data[st.top--];
c=((ch0-'0')&&(ch1-'1'))+'0';
st.data[++st.top]=c;
break;
default:
break;
}
*str++;
}
returnst.data[st.top]-'0';
}
int main()
{
char str[MAXSIZE]={0};
int chartab[CHARNUM]={0};
fstream infile;
fstream outfile;
int sum;
//打開輸入和輸出檔案
infile.open(“stackc.in“,fstream::in);
outfile.open(“stackc.out“,fstream::out);
//獲取第一行字串
infile.getline(str,MAXSIZE);
//獲取第二行整數
sum=infile.get()-'0';
infile.get();
//得到各個變數的值
for(int i=0;i



關於邏輯運算運算式
假設A=true,B=false,C=true,D=true,邏輯運算運算式值為真的是{(A∧B)∨(C∧D)}.
∧∨這兩個符號的意思.


∨、∧是離散數學的合取和析取邏輯運算,在各種語言中都可以一個語句來實現,如用pascal/delphi/basic實現A,B的合取為A and B;用pascal/delphi/basic實現A,B的析取為A or B;用C或C++實現A,B的合取為A && B;用…



1到1000這1000個自然數中,完全不含有數位“1”的數有多少個?


設1-1000中的任意一個數表示為ABC,其中A,B,C屬於0,1,2,3,4,5,6,7,8,9
001表示1
由於完全不含有1,所以A有9種取法,B有9種取法,C有9種取法
ABC有9*9*9=729種取法
但是在這729個數位種包含了000也就是0,
所以一共有729-1=728個數位完全不含有1



客車以80㎞的速度從南京開往武漢,1h後轎車也從南京出發以120㎞/h的速度追趕客車,則追上客車所需的時間為()


80÷(120-80)=2h



在一個三角形中,已知∠A的度數是∠C的3倍,∠B的度數是∠C的5倍,求三個角的度數


3∠C+5∠C+∠C=180
∠C=20°
∠A=60°
∠B=100°



王叔叔開車從A地到B地,從開始出發車速比原計畫的速度提高了1/9,結果提前了一個半小時到達,返回時按原計畫行駛280千米後,將車速提高1/6,於是提前2小時到達B地,A地到B地的路程是多少千米?


速度比:1:(1+1/9)=9:10
時間;1.5÷(10-9)x10=15(小時)
速度比:1:(1+1/6)=6:7
原計畫行駛280千米所需時間:
15-2÷(7-6)X7=1(小時)
A地到B地的路程是:280÷1x15=4200(千米)



如果a取其他的值,3a+2a與5a的大小關係還會改變嗎?


永遠相等



快慢兩車分別從甲乙兩城同時相對開出,慢車的速度是快車的3分之2,兩車開出6小時相遇,並繼續前進,快車比
慢車早()小時到達目的地


1÷【1/6÷(1+2/3)】×(3/2-1)
=1×1/2
=5小時



已知橢圓方程的兩個焦點分別為F1(-4,0)和F2(4,0),在添加什麼條件,可得這個橢圓的方程為x*2/25+y*2/9=


很多啊
比如橢圓過(2√5,-9√5/5)
或者兩個準線的距離是25/2
或者長軸長和短軸長的比是5:3
等等



工地上有一批水泥,第一天用去500噸,比總數的1/6少30噸,第二天用了總數的1/3,第二天用去水泥多少噸?


總數(500+30)÷1/6=530÷1/6=3180噸
3180x1/3=1060噸
答第二天用1060噸