㈠ 數據結構(c語言)用單鏈表存儲一元多項式,並實現兩個多項式的相加運算,怎麼做
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int ElemType;
/*單項鏈表的聲明*/
typedef struct PolynNode{
int coef; // 系數
int expn; // 指數
struct PolynNode *next; }PolynNode,*PolynList;
/*正位序(插在表尾)輸入n個元素的值,建立帶表頭結構的單鏈線性表*/
/*指數系數一對一對輸入*/ void CreatePolyn(PolynList &L,int n)
{
int i;
下載
原文檔已轉碼為如下格式,以便移動設備查看
數據結構(c語言)用單鏈表存儲一元多項式,並實現兩個多項式的相加運算【最新】
閱讀:1037次 頁數:36頁 2016-03-21 舉報
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int ElemType;
/*單項鏈表的聲明*/
typedef struct PolynNode{
int coef; // 系數
int expn; // 指數
struct PolynNode *next; }PolynNode,*PolynList;
/*正位序(插在表尾)輸入n個元素的值,建立帶表頭結構的單鏈線性表*/
/*指數系數一對一對輸入*/ void CreatePolyn(PolynList &L,int n)
{
int i;
PolynList p,q;
L=(PolynList)malloc(sizeof(PolynNode)); // 生成頭結點
L->next=NULL;
q=L;
printf("成對輸入%d個數據 ",n);
for(i=1;i<=n;i++)
{
p=(PolynList)malloc(sizeof(PolynNode));
scanf("%d%d",&p->coef,&p->expn); //指數和系數成對輸入
q->next=p;
q=q->next;
}
p->next=NULL;
}
// 初始條件:單鏈表L已存在
// 操作結果: 依次對L的每個數據元素調用函數vi()。一旦vi()失敗,則操作失敗
void PolynTraverse(PolynList L,void(*vi)(ElemType, ElemType)) {
PolynList p=L->next;
while(p)
{
vi(p->coef, p->expn);
if(p->next)
{
printf(" + "); //「+」號的輸出,最後一項後面沒有「+」
}
p=p->next;
}
printf(" ");
}
/*ListTraverse()調用的函數(類型要一致)*/ void visit(ElemType c, ElemType e) {
if(c != 0)
{
printf("%dX^%d",c,e); //格式化輸出多項式每一項
}
}
/* 多項式相加,原理:歸並 */ /* 參數:兩個已經存在的多項式 */ /* 返回值:歸並後新的多項式的頭結點 */
PolynList MergeList(PolynList La, PolynList Lb) {
PolynList pa, pb, pc, Lc;
pa = La->next;
pb = Lb->next;
Lc = pc = La; // 用La的頭結點作為Lc的頭結點
while(pa&&pb)
{
if(pa->expn < pb->expn)
{
pc->next = pa; //如果指數不相等,pc指針連上指數小的結
點,
pc = pa;
pa = pa->next; //指向該結點的指針後移
}
else if (pa ->expn > pb->expn )
{
pc->next = pb; //pc指針連上指數小的結點,
pc = pb;
pb = pb->next; //指向該結點的指針後移
}
else //(pa ->expn = pb->expn )
{
pa->coef = pa->coef + pb->coef; //指數相等時,系數相加
pc->next = pa;
pc = pa;
pa = pa->next; //兩指針都往後移
pb = pb->next;
}
}
pc->next = pa ? pa:pb; // 插入剩餘段
return Lc;
}
void main()
{
PolynList ha,hb,hc;
printf("非遞減輸入多項式ha, ");
CreatePolyn(ha,5); // 正位序輸入n個元素的值
printf("非遞減輸入多項式hb, ");
CreatePolyn(hb,5); // 正位序輸入n個元素的值
㈡ 用c++數據結構單鏈表寫一元多項式的相加 急求!!
//我以前寫過C語言的
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#defineNULL0
typedefstructNODE{
floatcoef;//系數
intexpn;//指數
structNODE*next;
}NODE;
NODE*Creat(intn);
voidprint(NODE*head);
NODE*AddPolyn(NODE*head1,NODE*head2);
NODE*Delfirst(NODE*head,NODE*q);
voidInsertBefore(NODE*p1,NODE*p2);
intcompare(inta,intb);
main(){
NODE*head1,*head2,*head3;
intn1,n2;
printf("請輸入你需要的多項數的數目n1:");
scanf("%d",&n1);
head1=Creat(n1);
printf("第一個多項式的顯示: ");
print(head1);
printf(" 請輸入你需要的多項數的數目n2:");
scanf("%d",&n2);
head2=Creat(n2);
printf(" 第二個多項式的顯示: ");
print(head2);
head3=AddPolyn(head1,head2);
printf(" 合並後的多項式的顯示: ");
print(head3);
printf(" ");
}
/*創建鏈表*/
NODE*Creat(intn){
NODE*current,*previous,*head;
inti;
head=(NODE*)malloc(sizeof(NODE));/*創建頭結點*/
previous=head;
for(i=0;i<n;i++){
current=(NODE*)malloc(sizeof(NODE));
printf("請輸入系數和指數:");
scanf("%f%d",¤t->coef,¤t->expn);
previous->next=current;
previous=current;
}
previous->next=NULL;
returnhead;
}
/*一元多項式的想加,總體考慮,可分qa的指數比qb小,或等於pb(如果系數相加等於0和不等於0),或大於pb裡面由InsertBefore和Delfirst兩個小模塊組成一部分*/
NODE*AddPolyn(NODE*head1,NODE*head2){
NODE*ha,*hb,*qa,*qb;
inta,b;
floatsum;
ha=head1;/*ha和hb指向頭結點*/
hb=head2;
qa=ha->next;/*qa和qb指向頭結點的下一個結點*/
qb=hb->next;
while(qa&&qb){/*qa和qb均非空*/
a=qa->expn;
b=qb->expn;
switch(compare(a,b)){
case-1:/*qa->expn<qb->expn*/
ha=qa;
qa=qa->next;
break;
case0:
sum=qa->coef+qb->coef;/*系數的和*/
if(sum!=0.0){/*如果不是0.0*/
qa->coef=sum;/*改變系數*/
ha=qa;
}else{
free(Delfirst(ha,qa));
}
free(Delfirst(hb,qb));
qa=ha->next;
qb=hb->next;/*qb釋放後要重新賦值*/
break;
case1:/*如果qa->expn>qb->expn*/
Delfirst(hb,qb);
InsertBefore(ha,qb);/*把qb插入到ha下一個結點之前*/
qb=hb->next;
ha=ha->next;
break;
}
}
if(qb)
ha->next=qb;/*插入剩餘的pb*/
free(head2);
returnhead1;
}
/*比較*/
intcompare(inta,intb){
if(a<b)
return-1;
elseif(a>b)
return1;
else
return0;
}
/*刪除結點q*/
NODE*Delfirst(NODE*p1,NODE*q){
p1->next=q->next;
return(q);
}
/*插入結點,引入結點p,可以讓p插入到p2和p1之間*/
voidInsertBefore(NODE*p1,NODE*p2){
NODE*p;p=p1->next;
p1->next=p2;
p2->next=p;
}
/*列印,為了美觀程序分開列印*/
voidprint(NODE*head){
NODE*current;
current=head->next;
while(current->next!=NULL){
printf("%0.f*x^%d+",current->coef,current->expn);
current=current->next;}
printf("%0.f*x^%d",current->coef,current->expn);
}
㈢ 用C語言實現數據結構的題目:一元多項式相加
注意:輸入時,指數按升序輸入
如: 1 1 2 2 3 3 0 0
2 2 3 3 0 0
結果:1 1 4 2 6 3
#include <stdio.h>
#include <malloc.h>
struct poly //設置結構體
{
int xi;
int ;
struct poly *next;
};
struct poly *jianli(void) //建立鏈表
{
struct poly *p1,*head1,*p2;
head1=(struct poly*)malloc(sizeof(poly));
p1=(struct poly*)malloc(sizeof(poly));
scanf("%d %d",&p1->xi,&p1->);
head1->next=p1;
p1->next=NULL;
while(1)
{
p2=(struct poly*)malloc(sizeof(poly));
scanf("%d %d",&p2->xi,&p2->);
if(p2->xi==0) if(p2->==0) {free(p2);break;}
p1->next=p2;
p2->next=NULL;
p1=p2;
}
return(head1);
}
struct poly *jisuan(struct poly *head1,struct poly *head2) //多項式的相加
{
struct poly *p1,*p2,*r1,*r2;
r1=head1;
p1=head1->next;
r2=p2=head2->next;
while(p1&&p2)
{
if(p1->==p2->)
{
p1->xi=(p1->xi)+(p2->xi);
p2=p2->next;
free(r2);
r2=p2;
r1=p1;
p1=p1->next;
}
else if(p1->>p2->)
{
r2->next=p1;
r1->next=r2;
p2=p2->next;
r2=p2;
}
else
if(p1-><p2->)
{
r1=p1; p1=p1->next;
}
}
if(p1) free(head2);
else {
r1->next=p2;
free(head2);
}
return(head1);
}
void print(poly *head)
{
struct poly *p;
p=head->next;
while(p)
{
printf("%d %d\t",p->xi,p->);
p=p->next;
}
}
void main()
{
struct poly *head1,*head2,*p;
printf("請輸入多項式的每一項的系數與指數並以0 0為結束標志:\n");
head1=jianli();
printf("\n請輸入另一個多項式的每一項的系數與指數並以0 0為結束標志:\n");
head2=jianli();
p=jisuan(head1,head2);
printf("\n合並後:\n");
print(p);
}
㈣ 多項式相加C語言實現(數據結構)
1 "stdio.h" 應該改成<stdio.h>吧!
2 typedef struct poly_node{
float coef;
int expon;
struct poly_node *link;
}; 中的 poly_node是不是應該放在最後一個上面結構體的最後一個花括弧後面!只找到這兩個!可能講得不對!不要見怪!
㈤ C語言用鏈表實現一元多項式的相加
C語言代碼:
#include"stdio.h"
#include"malloc.h"
/*鏈表結點結構*/
typedefstructLNode{
doublecoef;/*系數*/
intexp;/*指數*/
structLNode*next;
}LNode;
/*初始化鏈表*/
LNode*Init()
{
LNode*head=(LNode*)malloc(sizeof(LNode));
head->next=NULL;
returnhead;
}
/*將值為data的結點插入到head鏈表的最後*/
voidAddNode(LNode*head,doublecoef,intexp)
{
LNode*pre=head->next;
LNode*temp;
temp=(LNode*)malloc(sizeof(LNode));
temp->coef=coef;
temp->exp=exp;
temp->next=NULL;
if(pre==NULL)
{
head->next=temp;
return;
}
for(;pre->next!=NULL;pre=pre->next);
pre->next=temp;
}
/*輸出head鏈表的所有結點的值*/
voidList(LNode*head)
{
LNode*curr;
printf("Allnodes:");
for(curr=head->next;curr!=NULL;curr=curr->next)
{
printf("(%lf,%d) ",curr->coef,curr->exp);
}
printf(" ");
}
/*返回head鏈表的所有結點的數量*/
intSize(LNode*head)
{
intlen=0;
LNode*curr;
for(curr=head->next;curr!=NULL;curr=curr->next,len++);
returnlen;
}
LNode*Add(LNode*headA,LNode*headB)
{
LNode*currA,*currB,*headC;
doublesum;
currA=headA->next;
currB=headB->next;
headC=Init();
while(currA!=NULL&&currB!=NULL)
{
if(currA->exp>currB->exp)
{
AddNode(headC,currA->coef,currA->exp);
currA=currA->next;
}
elseif(currA->exp<currB->exp)
{
AddNode(headC,currB->coef,currB->exp);
currB=currB->next;
}
else
{
sum=currA->coef+currB->coef;
if(sum!=0)
{
AddNode(headC,sum,currA->exp);
}
currA=currA->next;
currB=currB->next;
}
}
while(currA!=NULL)
{
AddNode(headC,currA->coef,currA->exp);
currA=currA->next;
}
while(currB!=NULL)
{
AddNode(headC,currB->coef,currB->exp);
currB=currB->next;
}
returnheadC;
}
voidmain()
{
LNode*headA,*headB,*headC;
headA=Init();
headB=Init();
AddNode(headA,1.0,5);
AddNode(headA,-1.0,3);
AddNode(headA,1,0);
AddNode(headB,0.5,5);
AddNode(headB,1.0,4);
AddNode(headB,1.0,3);
List(headA);
List(headB);
headC=Add(headA,headB);
List(headC);
}
運行測試:
㈥ 用數據結構(C語言版)實現一元多項式的表示及相加
每個項用一個結點來表示,每個結點包含兩個成員,分別表示該項的系數和次數.如果是用鏈表來實現線性表,那麼結點還要包含next成員.此題最好用鏈表來實現.
表示多項式,最好按照習慣,以次數的降序來排列各項.
相加時,就是將其中一個鏈表的各結點保持降序,依次插入另一個鏈表.如果遇到次數相同的,就合並.如果合並後系數為0,則刪除該結點.
㈦ C語言數據結構的一元多項式計算
除以上功能外,還有乘法和除法的計算和導數計算呢。 這是我以前做的數據結構課程設計。希望能幫上你的忙。 #include<stdio.h> #include<malloc.h> typedef struct Polynomial{ float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; //Polyn為結點指針類型 void Insert(Polyn p,Polyn h){ if(p->coef==0) free(p); //系數為0的話釋放結點 else{ Polyn q1,q2; q1=h;q2=h->next; while(q2&&p->expn<q2->expn){ //查找插入位置 q1=q2; q2=q2->next; } if(q2&&p->expn==q2->expn){ //將指數相同相合並 q2->coef+=p->coef; free(p); if(!q2->coef){ //系數為0的話釋放結點 q1->next=q2->next; free(q2); } } else{ //指數為新時將結點插入 p->next=q2; q1->next=p; } } }//Insert Polyn CreatePolyn(Polyn head,int m){//建立一個頭指針為head、項數為m的一元多項式 int i; Polyn p; p=head=(Polyn)malloc(sizeof(struct Polynomial)); head->next=NULL; for(i=0;i<m;i++){ p=(Polyn)malloc(sizeof(struct Polynomial));//建立新結點以接收數據 printf("請輸入第%d項的系數與指數:",i+1); scanf("%f %d",&p->coef,&p->expn); Insert(p,head); //調用Insert函數插入結點 } return head; }//CreatePolyn void DestroyPolyn(Polyn p){//銷毀多項式p Polyn q1,q2; q1=p->next; q2=q1->next; while(q1->next){ free(q1); q1=q2;//指針後移 q2=q2->next; } } void PrintPolyn(Polyn P){ Polyn q=P->next; int flag=1;//項數計數器 if(!q) { //若多項式為空,輸出0 putchar('0'); printf("\n"); return; } while (q){ if(q->coef>0&&flag!=1) putchar('+'); //系數大於0且不是第一項 if(q->coef!=1&&q->coef!=-1){//系數非1或-1的普通情況 printf("%g",q->coef); if(q->expn==1) putchar('X'); else if(q->expn) printf("X^%d",q->expn); } else{ if(q->coef==1){ if(!q->expn) putchar('1'); else if(q->expn==1) putchar('X'); else printf("X^%d",q->expn); } if(q->coef==-1){ if(!q->expn) printf("-1"); else if(q->expn==1) printf("-X"); else printf("-X^%d",q->expn); } } q=q->next; flag++; }//while printf("\n"); }//PrintPolyn int compare(Polyn a,Polyn b){ if(a&&b){ if(!b||a->expn>b->expn) return 1; else if(!a||a->expn<b->expn) return -1; else return 0; } else if(!a&&b) return -1;//a多項式已空,但b多項式非空 else return 1;//b多項式已空,但a多項式非空 }//compare Polyn AddPolyn(Polyn pa,Polyn pb){//求解並建立多項式a+b,返回其頭指針 Polyn qa=pa->next; Polyn qb=pb->next; Polyn headc,hc,qc; hc=(Polyn)malloc(sizeof(struct Polynomial));//建立頭結點 hc->next=NULL; headc=hc; while(qa||qb){ qc=(Polyn)malloc(sizeof(struct Polynomial)); switch(compare(qa,qb)){ case 1: { qc->coef=qa->coef; qc->expn=qa->expn; qa=qa->next; break; } case 0: { qc->coef=qa->coef+qb->coef; qc->expn=qa->expn; qa=qa->next; qb=qb->next; break; } case -1: { qc->coef=qb->coef; qc->expn=qb->expn; qb=qb->next; break; } }//switch if(qc->coef!=0){ qc->next=hc->next; hc->next=qc; hc=qc; } else free(qc);//當相加系數為0時,釋放該結點 }//while return headc; }//AddPolyn Polyn SubtractPolyn(Polyn pa,Polyn pb){//求解並建立多項式a+b,返回其頭指針 Polyn h=pb; Polyn p=pb->next; Polyn pd; while(p){ //將pb的系數取反 p->coef*=-1; p=p->next; } pd=AddPolyn(pa,h); for(p=h->next;p;p=p->next) //恢復pb的系數 p->coef*=-1; return pd; }//SubtractPolyn float ValuePolyn(Polyn head,float x){//輸入x值,計算並返回多項式的值 Polyn p; int i; float sum=0,t; for(p=head->next;p;p=p->next){ t=1; for(i=p->expn;i!=0;){ if(i<0){t/=x;i++;}//指數小於0,進行除法 else{t*=x;i--;}//指數大於0,進行乘法 } sum+=p->coef*t; } return sum; }//ValuePolyn Polyn Derivative(Polyn head){//求解並建立a的導函數多項式,並返回其頭指針 Polyn q=head->next,p1,p2,hd; hd=p1=(Polyn)malloc(sizeof(struct Polynomial));//建立頭結點 hd->next=NULL; while(q){ if(q->expn!=0){ //該項不是常數項時 p2=(Polyn)malloc(sizeof(struct Polynomial)); p2->coef=q->coef*q->expn; p2->expn=q->expn-1; p2->next=p1->next;//連接結點 p1->next=p2; p1=p2; } q=q->next; } return hd; }//Dervative Polyn MultiplyPolyn(Polyn pa,Polyn pb){//求解並建立多項式a*b,返回其頭指針 Polyn hf,pf; Polyn qa=pa->next; Polyn qb=pb->next; hf=(Polyn)malloc(sizeof(struct Polynomial));//建立頭結點 hf->next=NULL; for(;qa;qa=qa->next){ for(qb=pb->next;qb;qb=qb->next){ pf=(Polyn)malloc(sizeof(struct Polynomial)); pf->coef=qa->coef*qb->coef; pf->expn=qa->expn+qb->expn; Insert(pf,hf);//調用Insert函數以合並指數相同的項 } } return hf; }//MultiplyPolyn void DevicePolyn(Polyn pa,Polyn pb){//求解並建立多項式a*b,返回其頭指針 Polyn hf,pf,af,temp1,temp2,q; Polyn qa=pa->next; Polyn qb=pb->next; hf=(Polyn)malloc(sizeof(struct Polynomial));//建立頭結點,存儲商 hf->next=NULL; pf=(Polyn)malloc(sizeof(struct Polynomial));//建立頭結點,存儲余數 pf->next=NULL; temp1=(Polyn)malloc(sizeof(struct Polynomial)); temp1->next=NULL; temp2=(Polyn)malloc(sizeof(struct Polynomial)); temp2->next=NULL; temp1=AddPolyn(temp1,pa); while(qa!=NULL&&qa->expn>=qb->expn){ temp2->next=(Polyn)malloc(sizeof(struct Polynomial)); temp2->next->coef=(qa->coef)/(qb->coef); temp2->next->expn=(qa->expn)-(qb->expn); Insert(temp2->next,hf); pa=SubtractPolyn(pa,MultiplyPolyn(pb,temp2)); qa=pa->next; temp2->next=NULL; } pf=SubtractPolyn(temp1,MultiplyPolyn(hf,pb)); pb=temp1; printf("商是:"); PrintPolyn(hf); printf("余數是:"); PrintPolyn(pf); }//DevicePolyn int main(){ int m,n,flag=0; float x; Polyn pa=0,pb=0,pc,pd,pe,pf;//定義各式的頭指針,pa與pb在使用前付初值NULL printf("請輸入a的項數:"); scanf("%d",&m); pa=CreatePolyn(pa,m);//建立多項式a printf("請輸入b的項數:"); scanf("%d",&n); pb=CreatePolyn(pb,n);//建立多項式a //輸出菜單 printf("**********************************************\n"); printf("操作提示:\n\t1.輸出多項式a和b\n\t2.建立多項式a+b\n\t3.建立多項式a-b\n"); printf("\t4.計算多項式a在x處的值\n\t5.求多項式a的導函數\n\t6.建立多項式a*b\n"); printf("\t7.建立多項式a/b\n\t8.退出\n**********************************************\n"); for(;;flag=0){ printf("執行操作"); scanf("%d",&flag); if(flag==1){ printf("多項式a:");PrintPolyn(pa); printf("多項式b:");PrintPolyn(pb);continue; } if(flag==2){ pc=AddPolyn(pa,pb); printf("多項式a+b:");PrintPolyn(pc); DestroyPolyn(pc);continue; } if(flag==3){ pd=SubtractPolyn(pa,pb); printf("多項式a-b:");PrintPolyn(pd); DestroyPolyn(pd);continue; } if(flag==4){ printf("輸入x的值:x="); scanf("%f",&x); printf("多項式a的值%g\n",ValuePolyn(pa,x));continue; } if(flag==5){ pe=Derivative(pa); printf("多項式a的導函數:");PrintPolyn(pe); DestroyPolyn(pe);continue; } if(flag==6){ pf=MultiplyPolyn(pa,pb); printf("多項式a*b:");PrintPolyn(pf); DestroyPolyn(pf);continue; } if(flag==7){ DevicePolyn(pa,pb); continue; } if(flag==8) break; if(flag<1||flag>8) printf("Error!!!\n");continue; }//for DestroyPolyn(pa); DestroyPolyn(pb); return 0; }
㈧ 求數據結構程序C語言版,計算任意兩個一元多項式的加減乘法,輸出結果多項式,要求實現多項式的插入和刪除
struct poly
{
int cishu;//次方數
int xishu; //系數
};
/*在寫加減乘除時:首先輸入一個多項式其實就是一個結構體數組 每個數組元素由 次數和系數組成 排序(按照次數的大小順序排序) 求出每個多項式的長度, 再 每個加減乘除函數裡面的堆上分配一個新的結構體數組(malloc)以兩者中最長的長度分配,加減乘除時先遍歷長度大的再遍歷長度小的 兩個for循環OK!然後將剩下的再來一個循環一下剩下的沒有合並同類項的,返回合並後的多項式...插入好說,刪除也好說!這個代碼量還有點不想寫 */
typedef struct poly Polygon;
int Input(Polygon*);//輸入函數返回輸入多項式的長度
void sort(Polygon*);//排序
Polygon *Add(Polygon*,Polygon*);//加
Polygon* Minus(Ploygon*,Polygon*);//減
Polygon* Mul(Polygon*,Polygon*);//乘
Polygon* Div(Polygon*,Polygon*);//除
void Output(Polygon*);//輸出
void Insert(Polygon*)//查入
㈨ c語言數據結構 一元多項式的加減 補齊代碼
線性表的應用,給你一個頭提示,主體部分自己想想怎麼寫吧: #include <stdio.h> #include "conio.h" #include <stdlib.h> #include "malloc.h" #define M 3//可以改變輸入的多項式的項數 #define N 2 typedef struct poly *polytype; struct poly{ float coef; int exp; polytype next; }; polytype Create_Empty_Node(int ); void Input_Values(polytype ,int ); void Insert_Node(polytype ,float ,int ); void Add_Poly(polytype ,polytype ); void Sub_Poly(polytype ,polytype ); void OutPut_Results(polytype); void OutPut_Values(polytype); int Infact(int ,int);/*計算階乘*/
㈩ 如何用C語言實現兩個一元多項式的相加和相乘
沒有別的好辦法,你看這樣行不行,不行你自己再想想吧
#include
void
main()
{
int
a1,b1,c1,d1,e1,f1,a2,b2,c2,d2,e2,f2;
printf("ax^5+bx^4+cx^3+dx^2+ex+f=0\n");
printf("請輸入:a
b
c
d
e
f\n");
printf("第一個:");
scanf("%d%d%d%d%d%d",&a1,&b1,&c1,&d1,&e1,&f1);
printf("第二個:");
scanf("%d%d%d%d%d%d",&a2,&b2,&c2,&d2,&e2,&f2);
printf("兩式相加後得:\n");
printf("%dx^5+%dx^4+%dx^3+%dx^2+%dx+%d=0\n",a1+a2,b1+b2,c1+c2,d1+d2,e1+e2,f1+f2);
}
由於變數太多!輸出時要注意哦
希望回答對你有幫助!