#include #include #include #define N 7 typedef enum { add, nul, sub, div1, yu, l, r }OP; int a[N][N] = { { 0, 0, -1, -1, -1, 1, 2 }, { 0, 0, -1, -1, -1, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, }; int top; OP beg; int b[1024]; OP op[1024]; void init_nu( ){ top = 0; } void push_nu( int term ){ b[top++] = term; } int pop_nu( ){ return b[--top]; } int is_empty_nu( ){ return top == 0; } void destory_nu( ) { top = 0; } void init_sign( ){ beg = 0; } void push_sign( OP sign ){ op[beg++] = sign; } void destory_sign( ){ beg = 0; } OP pop_sign( ){ return op[--beg];} OP get_sign( ){ return op[beg - 1]; } int is_empty_sign( ){return beg == 0; } int eval() { int i, j; i = pop_nu(); j = pop_nu(); switch( pop_sign() ) { case '+': push_nu( j + i ); break; case '-': push_nu( j - i ); break; case '*': push_nu( j * i ); break; case '/': push_nu( j / i ); break; case '%': push_nu( j i ); break; defult: break; } } int change( char *s ) { int i; int n = strlen( s ); for( i = 0; i n; i++ ) { if( s[i] = '0' s[i] = '0' s[i] = '9' ) push_nu( 10 * pop_nu() + s[i++] - '0' ); switch( s[i] ) { case '+': while( a[add][get_sign()] = 0 ) eval(); push_sign( add ); break; case '-': while( a[nul][get_sign()] = 0 ) eval(); push_sign( nul ); break; case '*': while( a[sub][get_sign()] = 0 ) eval(); push_sign( sub ); break; case '/': while( a[div1][get_sign()] = 0 ) eval(); push_sign( div1 ); break; case '%': while( a[yu][get_sign()] = 0 ) eval(); push_sign( yu ); break; case '(': push_sign( l ); break; case ')': while( (get_sign()) != l ) eval(); pop_sign(); break; defult: break; } } return pop_nu(); } int main( void ) { char *s = "((5-3)*2+4/22+1)"; init_nu(); init_sign(); printf( "%d\n", change( s )); destory_nu(); destory_sign(); return 0; } 以前編的,希望對(duì)你有幫助。別忘了給我分。
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供甘州網(wǎng)站建設(shè)、甘州做網(wǎng)站、甘州網(wǎng)站設(shè)計(jì)、甘州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、甘州企業(yè)網(wǎng)站模板建站服務(wù),10多年甘州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
C語(yǔ)言中一個(gè)函數(shù)(function)是一個(gè)可以從程序其它地方調(diào)用執(zhí)行的語(yǔ)句塊。
1、通過(guò)使用函數(shù)(functions)我們可以把我們的程序以更模塊化的形式組織起來(lái),從而利用C語(yǔ)言所支持的結(jié)構(gòu)化程序設(shè)計(jì)。
2、從數(shù)學(xué)角度,函數(shù)即集合A和集合B之間的映射關(guān)系。實(shí)際上計(jì)算機(jī)中的函數(shù)概念也是源于此,因此,一般函數(shù),都有形參和返回值。
3、從計(jì)算機(jī)組成原理的角度來(lái)看,函數(shù)即是一個(gè)小型的計(jì)算機(jī)系統(tǒng),依據(jù)馮諾伊曼的“存儲(chǔ)程序原理”,每一個(gè)計(jì)算機(jī)系統(tǒng)包含:輸入系統(tǒng)、輸出系統(tǒng)、運(yùn)算器以及控制器,實(shí)際上對(duì)于C語(yǔ)言中的函數(shù)來(lái)說(shuō),它是“存儲(chǔ)程序原理”的軟實(shí)現(xiàn),其中形參、實(shí)參這是輸入系統(tǒng),返回值是輸出系統(tǒng),函數(shù)體中的運(yùn)算符,比如+、-、*、/四則運(yùn)算即為運(yùn)算器,而邏輯運(yùn)算符以及if、while等控制語(yǔ)句便是一個(gè)控制器。
#includeiostream
using?namespace?std;
class?MergeList
{
int?*a;
int?size;
public:
MergeList(int?size,int?init)
{
this-size=size;
a=new?int[size];
for(int?i=0;isize;i++)
{
a[i]=init;
}
}
MergeList()
{
}
MergeList(const?MergeListobj)
{
this-size=obj.size;
a=new?int[size];
for(int?i=0;isize;i++)
a[i]=obj.a[i];
}
void?SetData(intindex,?intdata)
{
a[index]=data;
}
intGetSize(){return?size;}
~MergeList()
{
delete?[]a;
}
MergeListoperator=(const?MergeListobj)
{
this-size=obj.size;
a=new?int[size];
for(int?i=0;isize;i++)
a[i]=obj.a[i];
return?*this;
}
bool?Is_Same(int?element);
MergeList?AddList(const?MergeListobj);
void?Show()
{
for(int?i=0;isize;i++)
couta[i]"?";
coutendl;
}
};
bool?MergeList::Is_Same(int?element)
{
for(int?i=0;isize;i++)
{
if(a[i]==element)
return?true;
}
return?false;
}
MergeList?MergeList::AddList(const?MergeListobj)
{
MergeList?C;
?int?m=0,i=0;
?C.size=size+obj.size;
?C.a=new?int[C.size];
?if(sizeobj.size||(size==obj.size))
?{
?for(i=0;isize;i++)
?{
?C.a[i]=a[i];
?}
?}
?else
?{
?for(i=0;iobj.size;i++)
?{
?C.a[i]=obj.a[i];
?}
?}
for(int?j=0;jobj.size;j++)
{
if(!this-Is_Same(obj.a[j]))
{
C.a[i+m]=obj.a[j];
m++;
}
}
C.size=i+m;
return?C;
}
int?main()
{
int?LengthA,LengthB;
cout"input?length?a:";
cinLengthA;
cout"input?length?b:";
cinLengthB;
MergeList?A(LengthA,2),B(LengthB,2),C;
cout"input?A:"endl;
for(int?i=0;iA.GetSize();i++)
{
int?a;
cina;
A.SetData(i,a);
}
cout"input?B:"endl;
for(int?j=0;jB.GetSize();j++)
{
int?b;
cinb;
B.SetData(j,b);
}
C=A.AddList(B);
cout"合并后:"endl;
C.Show();
}
函數(shù)是數(shù)學(xué)名詞,代數(shù)式中,凡相關(guān)的兩數(shù)X與Y,對(duì)于每個(gè)X值,都只有一個(gè)Y的對(duì)應(yīng)值。這種對(duì)應(yīng)關(guān)系就表示Y是X的函數(shù)。
函數(shù)(function)的定義通常分為傳統(tǒng)定義和近代定義,函數(shù)的兩個(gè)定義本質(zhì)是相同的,只是敘述概念的出發(fā)點(diǎn)不同,傳統(tǒng)定義是從運(yùn)動(dòng)變化的觀點(diǎn)出發(fā),而近代定義是從集合、映射的觀點(diǎn)出發(fā)。
函數(shù)的近代定義是給定一個(gè)數(shù)集A,假設(shè)其中的元素為x,對(duì)A中的元素x施加對(duì)應(yīng)法則f,記作f(x),得到另一數(shù)集B,假設(shè)B中的元素為y,則y與x之間的等量關(guān)系可以用y=f(x)表示,函數(shù)概念含有三個(gè)要素:定義域A、值域B和對(duì)應(yīng)法則f。其中核心是對(duì)應(yīng)法則f,它是函數(shù)關(guān)系的本質(zhì)特征。
函數(shù),最早由中國(guó)清朝數(shù)學(xué)家李善蘭翻譯,出于其著作《代數(shù)學(xué)》。之所以這么翻譯,他給出的原因是“凡此變數(shù)中函彼變數(shù)者,則此為彼之函數(shù)”,也即函數(shù)指一個(gè)量隨著另一個(gè)量的變化而變化,或者說(shuō)一個(gè)量。
首先,如果是數(shù)學(xué)上的集合概念,那就說(shuō)明,集合A自身的每個(gè)元素都不相同。
那么,程序就可以簡(jiǎn)化成,
設(shè)數(shù)組key[52],用于記錄字母出現(xiàn)次數(shù)。
掃描一次集合A,把出現(xiàn)的字母計(jì)到key的對(duì)應(yīng)位置里。
同理掃描一次集合B。
查看key數(shù)組,=2的對(duì)應(yīng)字母輸出到集合C,C就是所求交集。
本文題目:c語(yǔ)言集合函數(shù),C語(yǔ)言中如何表示集合
網(wǎng)站路徑:http://chinadenli.net/article38/dsshgsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、虛擬主機(jī)、域名注冊(cè)、小程序開(kāi)發(fā)、Google、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)