/*第二章 評量第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);
}
}
沒有留言:
張貼留言