2010年4月6日 星期二

資料結構第二章評量第14題

/*第二章 評量第14題*/
#include <stdlib.h>
#include <stdio.h>
struct mutiple
{
   int x5;
   int x4;
   int x3;
   int x2;
   int x1;
   int x0;
};

typedef struct mutiple mtp;
void mtp_plus(mtp *,mtp *);
void show_mtp(mtp);
int main()
{
    mtp A={0,7,0,3,0,4};
    mtp B={6,5,0,1,7,9};
    printf("相加前========\n");
    printf("A(x) = ");
    show_mtp(A);
    printf("\nB(x) = ");
    show_mtp(B);
    printf("\n\n相加後========\n");
    mtp_plus(&A,&B);
    printf("A(x) = ");
    show_mtp(A);
    printf("\n");
    system("pause");
    return 0; 
}
void mtp_plus(mtp *m1,mtp *m2)
{
    m1->x5+=m2->x5;
    m1->x4+=m2->x4;
    m1->x3+=m2->x3;
    m1->x2+=m2->x2;
    m1->x1+=m2->x1;
    m1->x0+=m2->x0;
}
void show_mtp(mtp stt)
{
    int sw=0;
    if(stt.x5!=0){
       sw++;
       printf("%dX5",stt.x5);
    }
    if(stt.x4!=0){
        if(sw>0)printf("+");
        sw++;
        printf("%dX4",stt.x4);
    }
    if(stt.x3!=0){
       if(sw>0)printf("+");
       sw++;
       printf("%dX3",stt.x3);
    }
    if(stt.x2!=0){
       if(sw>0)printf("+");
       sw++;
       printf("%dX2",stt.x2);
    }
    if(stt.x1!=0){
       if(sw>0)printf("+");
       sw++;
       printf("%dX",stt.x1);
    }
    if(stt.x0!=0){
      if(sw>0)printf("+");
       sw++;
       printf("%d",stt.x0);
    }
}

沒有留言:

張貼留言