




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大作業(yè)1實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:長(zhǎng)整數(shù)加減運(yùn)算#include<iostream>using namespace std;struct Number int data; struct Number *next; struct Number *prior;*number1,*number2;void CreateList(Number *&L) /創(chuàng)建長(zhǎng)整數(shù) Number *s,*r; char x; L=(Number *)malloc(sizeof(Number); L->next=L->prior=NULL; r=L; x=getchar(); while(x!=
2、'n'). if(x>='0'&&x<='9') s=(Number *)malloc(sizeof(Number); s->data=x-'0' r->next=s; s->prior=r; r=s; x=getchar(); ; r->next=NULL;void PrintList(Number *L) /輸出長(zhǎng)整數(shù) Number *p=L->next; while(p!=NULL) cout<<p->data; p=p->next; cout
3、<<endl;void PlusList(Number *L1,Number *L2,char a,char m,char n) /兩個(gè)長(zhǎng)整數(shù)加減運(yùn)算 Number *p,*q,*r,*p1,*q1; int i=0,j=0; while(L1->next!=NULL) /將指針指向第一個(gè)長(zhǎng)整數(shù)的尾節(jié)點(diǎn)并算出它的長(zhǎng)度i p=L1->next; L1->next=L1->next->next; i+; while(L2->next!=NULL) /將指針指向第二個(gè)長(zhǎng)整數(shù)的尾節(jié)點(diǎn)并算出它的長(zhǎng)度j q=L2->next; L2->next=
4、L2->next->next; j+; if(a='+'&&m='+'&&n='+'|a='+'&&m='-'&&n='-'|a='-'&&m='+'&&n='-'|a='-'&&m='-'&&n='+') /正加正,負(fù)加負(fù),正減負(fù),負(fù)減正 if(i>j) /當(dāng)
5、第一個(gè)長(zhǎng)整數(shù)的長(zhǎng)度大于第二個(gè)while(i!=0) while(j!=0) if(p->data+q->data)>9) /當(dāng)兩數(shù)相加大于向前一位進(jìn)一p->data=p->data+q->data-10; p->prior->data=p->prior->data+1; else p->data=p->data+q->data; p=p->prior; q=q->prior; j-;i-; if(p->data>9&&i>1) /兩數(shù)相加大于9向前一位進(jìn)一,當(dāng)最高位不大于
6、9則不進(jìn)一p->data=p->data-10; p->prior->data=p->prior->data+1; r=p; p=p->prior; i-; else if(i=j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度等于第二個(gè)while(i!=0) if(p->data+q->data)>9&&i>1) /兩數(shù)相加大于向前一位進(jìn)一,當(dāng)最高位大于則不進(jìn)一p->data=p->data+q->data-10; p->prior->data=p->prior->data+1; else
7、p->data=p->data+q->data; r=p; p=p->prior; q=q->prior; i-; else /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度小于第二個(gè)while(j!=0) while(i!=0) if(p->data+q->data>9) /當(dāng)兩數(shù)相加大于向前一位進(jìn)一q->data=q->data+p->data-10; q->prior->data=q->prior->data+1; else q->data=p->data+q->data; p=p->prior; q
8、=q->prior; j-;i-; if(q->data>9&&j>1) /兩數(shù)相加大于向前一位進(jìn)一,當(dāng)最高位大于則不進(jìn)一q->data=q->data-10; q->prior->data=q->prior->data+1; r=q; q=q->prior; j-; if(a='-'&&m='+'&&n='+') /正減正 if(i>j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度大于第二個(gè)時(shí),用第一個(gè)長(zhǎng)整數(shù)減第二個(gè)while(i!=0) whi
9、le(j!=0) if(p->data<q->data) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q->data+10; p->prior->data=p->prior->data-1; else p->data=p->data-q->data; p=p->prior; q=q->prior; j-;i-; if(p->data<0&&i>1) p->data=p->data+10; p->prior-&g
10、t;data=p->prior->data-1; r=p; if(p->data=0&&i=1) r=p->next; break; p=p->prior; i-; else if(i=j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度等于第二個(gè)的長(zhǎng)度int c=0,h=i,k=j; p1=p;q1=q; while(i!=1) p1=p1->prior; q1=q1->prior; i-; while(j!=0) /判斷兩個(gè)長(zhǎng)整數(shù)的大小if(p1->data>q1->data) c=1; break; else if(p1->dat
11、a<q1->data) c=0; break; else if(p1->data=q1->data&&j=1)c=1; else p1=p1->next; q1=q1->next; j-; if (c=1) /第一個(gè)長(zhǎng)整數(shù)大于第二個(gè)長(zhǎng)整數(shù),用第一個(gè)長(zhǎng)整數(shù)減去第二個(gè)while(h!=0) if(p->data<q->data) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q->data+10; p->prior->data=p->prior->
12、;data-1; else p->data=p->data-q->data; r=p; p=p->prior; q=q->prior; h-; while(r->data=0&&k>1) k-;r=r->next; if(c=0) /第一個(gè)長(zhǎng)整數(shù)大于第二個(gè)長(zhǎng)整數(shù)while(h!=0) if(p->data>q->data&&h>1) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->
13、;data=q->prior->data-1; else q->data=q->data-p->data; r=q; p=p->prior; q=q->prior; h-; while(r->data=0) r=r->next; r->data=-r->data; else /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度小于第二個(gè)while(j!=0) while(i!=0) if(p->data>q->data) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data
14、+10; q->prior->data=q->prior->data-1; else q->data=q->data-p->data; p=p->prior; q=q->prior; j-;i-; if(q->data<0&&j>1) q->data=q->data+10; q->prior->data=q->prior->data-1; r=q; if(r->data=0&&j=1) r=r->next; r->data=-r->
15、data; break; if(r->data!=0&&j=1) r->data=-r->data; q=q->prior; j-; if(a='-'&&m='-'&&n='-') /負(fù)減負(fù) if(i>j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度大于第二個(gè)時(shí),用第一個(gè)長(zhǎng)整數(shù)減第二個(gè)while(i!=0) while(j!=0) if(p->data<q->data) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q
16、->data+10; p->prior->data=p->prior->data-1; else p->data=p->data-q->data; p=p->prior; q=q->prior; j-;i-; if(p->data<0&&i>1) p->data=p->data+10; p->prior->data=p->prior->data-1; r=p; if(p->data=0&&i=1) r=p->next; break; p=
17、p->prior; i-; cout<<'-' /kkkelse if(i=j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度等于第二個(gè)的長(zhǎng)度int c=0,h=i,k=j; p1=p;q1=q; while(i!=1) p1=p1->prior; q1=q1->prior; i-; while(j!=0) /判斷兩個(gè)長(zhǎng)整數(shù)的大小if(p1->data>q1->data) c=1; break; else if(p1->data<q1->data) c=0; break; else if(p1->data=q1->data
18、&&j=1) c=1; else p1=p1->next; q1=q1->next; j-; if (c=1) /第一個(gè)長(zhǎng)整數(shù)大于第二個(gè)長(zhǎng)整數(shù),用第一個(gè)長(zhǎng)整數(shù)減去第二個(gè)while(h!=0) if(p->data<q->data) p->data=p->data-q->data+10; p->prior->data=p->prior->data-1; else p->data=p->data-q->data; r=p; p=p->prior; q=q->prior; h-; w
19、hile(r->data=0&&k>1) k-;r=r->next; cout<<'-'/j if(c=0) /第一個(gè)長(zhǎng)整數(shù)xiao于第二個(gè)長(zhǎng)整數(shù)while(h!=0) if(p->data>q->data&&h>1) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->data=q->prior->data-1; else q->data=q->data-p-
20、>data; r=q; p=p->prior; q=q->prior; h-; while(r->data=0) r=r->next; /r->data=r->data;/ww else /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度小于第二個(gè)while(j!=0) while(i!=0) if(p->data>q->data) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->data=q->prior->data-1; else q
21、->data=q->data-p->data; p=p->prior; q=q->prior; j-;i-; if(q->data<0&&j>1) q->data=q->data+10; q->prior->data=q->prior->data-1; r=q; if(r->data=0&&j=1) r=r->next; r->data=r->data;/ww break; if(r->data!=0&&j=1)r->data=
22、r->data;/ww q=q->prior; j-; if(a='+'&&m='+'&&n='-') / 正加負(fù)不用改用減法 if(i>j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度大于第二個(gè)時(shí),用第一個(gè)長(zhǎng)整數(shù)減第二個(gè)while(i!=0) while(j!=0) if(p->data<q->data) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q->data+10; p->prior->data=p->prior
23、->data-1; else p->data=p->data-q->data; p=p->prior; q=q->prior; j-;i-; if(p->data<0&&i>1) p->data=p->data+10; p->prior->data=p->prior->data-1; r=p; if(p->data=0&&i=1) r=p->next; break; p=p->prior; i-; else if(i=j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度等于第二個(gè)
24、的長(zhǎng)度int c=0,h=i,k=j; p1=p;q1=q; while(i!=1) p1=p1->prior; q1=q1->prior; i-; while(j!=0) /判斷兩個(gè)長(zhǎng)整數(shù)的大小if(p1->data>q1->data) c=1; break; else if(p1->data<q1->data) c=0; break; else if(p1->data=q1->data&&j=1)c=1; else p1=p1->next; q1=q1->next; j-; if (c=1) /第一個(gè)長(zhǎng)
25、整數(shù)大于第二個(gè)長(zhǎng)整數(shù),用第一個(gè)長(zhǎng)整數(shù)減去第二個(gè)while(h!=0) if(p->data<q->data) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q->data+10; p->prior->data=p->prior->data-1; else p->data=p->data-q->data; r=p; p=p->prior; q=q->prior; h-; while(r->data=0&&k>1) k-;r=r->n
26、ext; if(c=0) /第一個(gè)長(zhǎng)整數(shù)大于第二個(gè)長(zhǎng)整數(shù)while(h!=0) if(p->data>q->data&&h>1) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->data=q->prior->data-1; else q->data=q->data-p->data; r=q; p=p->prior; q=q->prior; h-; while(r->data=0) r=r->
27、;next; r->data=-r->data; else /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度小于第二個(gè)while(j!=0) while(i!=0) if(p->data>q->data) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->data=q->prior->data-1; else q->data=q->data-p->data; p=p->prior; q=q->prior; j-;i-; if(q->
28、data<0&&j>1) q->data=q->data+10; q->prior->data=q->prior->data-1; r=q; if(r->data=0&&j=1) r=r->next; r->data=-r->data; break; if(r->data!=0&&j=1) r->data=-r->data; q=q->prior; j-; if(a='+'&&m='-'&&
29、;n='+')if(i>j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度大于第二個(gè)時(shí),用第一個(gè)長(zhǎng)整數(shù)減第二個(gè)while(i!=0) while(j!=0) if(p->data<q->data) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q->data+10; p->prior->data=p->prior->data-1; else p->data=p->data-q->data; p=p->prior; q=q->prior; j-;i-; if(p-&
30、gt;data<0&&i>1) p->data=p->data+10; p->prior->data=p->prior->data-1; r=p; if(p->data=0&&i=1) r=p->next; break; p=p->prior; i-; cout<<'-'/gaielse if(i=j) /當(dāng)?shù)谝粋€(gè)長(zhǎng)整數(shù)的長(zhǎng)度等于第二個(gè)的長(zhǎng)度int c=0,h=i,k=j; p1=p;q1=q; while(i!=1) p1=p1->prior; q1=q1-&g
31、t;prior; i-; while(j!=0) /判斷兩個(gè)長(zhǎng)整數(shù)的大小if(p1->data>q1->data) c=1; break; else if(p1->data<q1->data) c=0; break; else if(p1->data=q1->data&&j=1)c=1; else p1=p1->next; q1=q1->next; j-; if (c=1) /第一個(gè)長(zhǎng)整數(shù)大于第二個(gè)長(zhǎng)整數(shù),用第一個(gè)長(zhǎng)整數(shù)減去第二個(gè)while(h!=0) if(p->data<q->data) /當(dāng)?shù)谝?/p>
32、個(gè)長(zhǎng)整數(shù)的數(shù)小于第二個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一p->data=p->data-q->data+10; p->prior->data=p->prior->data-1; else p->data=p->data-q->data; r=p; p=p->prior; q=q->prior; h-; while(r->data=0&&k>1) k-;r=r->next; cout<<'-'/gai if(c=0) /第一個(gè)長(zhǎng)整數(shù)小于第二個(gè)長(zhǎng)整數(shù)while(h!=0)
33、if(p->data>q->data&&h>1) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->data=q->prior->data-1; else q->data=q->data-p->data; r=q; p=p->prior; q=q->prior; h-; while(r->data=0) r=r->next; /r->data=r->data;/g else /當(dāng)
34、第一個(gè)長(zhǎng)整數(shù)的長(zhǎng)度小于第二個(gè)while(j!=0) while(i!=0) if(p->data>q->data) /當(dāng)?shù)诙€(gè)長(zhǎng)整數(shù)的數(shù)小于第一個(gè)長(zhǎng)整數(shù)的數(shù),則向前一位借一q->data=q->data-p->data+10; q->prior->data=q->prior->data-1; else q->data=q->data-p->data; p=p->prior; q=q->prior; j-;i-; if(q->data<0&&j>1) q->data=
35、q->data+10; q->prior->data=q->prior->data-1; r=q; if(r->data=0&&j=1) r=r->next; /r->data=r->data;/hh break; if(r->data!=0&&j=1) r->data=r->data;/hh q=q->prior; j-; if(a='+'&&m='-'&&n='-'|a='-'&
36、&m='-'&&n='+') cout<<'-'/控制符號(hào)輸出 if(r->data<10)for(int u=1;r!=NULL;u+) cout<<r->data; r=r->next ;if(u%3=0&&r!=NULL) cout<<',' ; cout<<endl;else for(int u=2;r!=NULL;u+) cout<<r->data; r=r->next ;if(u%3=0&&r!=NULL) cout<<',' ; cout<<endl;int main() char a,m,n; cout<<"請(qǐng)輸入第一個(gè)長(zhǎng)整數(shù),每三個(gè)數(shù)字間添加逗號(hào),并加上+ 或- :"<<endl; for(;) cin>>m; if(m='+'|m='-')break; cout<<"輸入錯(cuò)誤,請(qǐng)加上+ 或- "<<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年微生物檢驗(yàn)技師考試重要試題及答案
- 2025年投資策略調(diào)整與預(yù)測(cè)試題及答案
- 項(xiàng)目管理質(zhì)量保證技巧試題及答案
- 面對(duì)項(xiàng)目障礙的應(yīng)對(duì)策略試題及答案
- 2024年項(xiàng)目管理人際交往能力提升試題及答案
- 環(huán)保分類垃圾桶使用與推廣考核試卷
- 建筑安全施工的風(fēng)險(xiǎn)評(píng)估與管理考核試卷
- 電玩具用電器件選型與應(yīng)用考核試卷
- 污泥項(xiàng)目對(duì)接方案范本
- 2025年內(nèi)控標(biāo)準(zhǔn)試題及答案
- 貴州國(guó)企招聘2025貴州路橋集團(tuán)有限公司招聘35人筆試參考題庫(kù)附帶答案詳解
- 施工安全的教育培訓(xùn)記錄表
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗(yàn)收規(guī)范
- 新農(nóng)村農(nóng)房建設(shè)課件
- 非急救醫(yī)療轉(zhuǎn)運(yùn)管理規(guī)范(醫(yī)院院前急救體系補(bǔ)充)
- 四年級(jí)下冊(cè)信息技術(shù)課件-7.文化瑰寶探秘|大連理工版 (共15張PPT)
- 依戀的發(fā)展PPT演示課件(PPT 76頁(yè))
- 維修電工高級(jí)技師論文(6篇推薦范文)
- 六年級(jí)下冊(cè)數(shù)學(xué)課件--總復(fù)習(xí)《圖形的運(yùn)動(dòng)》北師大版.--共20張PPT
- 6SE70系列變頻器講解及Drive-Monitor調(diào)試(工程師培訓(xùn))課件
- 年產(chǎn)5萬(wàn)噸甲醇氧化制甲醛工藝及反應(yīng)器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論