ÈÄ..±º´ë ´Ù³à¿Í¼ C¾ð¾î ´Ù½Ã ÇÏ·Á´Ï±î º¹ÀâÇØÁö³»¿ä;;;Áö±Ý 2Çгâ ÀçÇÐÁßÀδë
Àú ½î½º..ÀÏ´Ü ±æ¾îÁö´Ï Çؼ®ÇϱⰡ Èûµë;;;À߾ƽôºРÇؼ®Á» ÇØÁÖ¼¼¿ä..Àú°ÉÀÌÇØ
ÇØ¾ß -,*,/<<¼¼°¡Áö ÀÛ¼ºÇÒ¼ö°¡;¤Ð¤Ð
#include <stdio.h>
#define MAX(a,b) ((a>b)?a:b)
#define MAX_DEGREE 50
typedef struct{
int degree;
float coef[MAX_DEGREE];
} polynomial;
polynomial addPoly(polynomial A, polynomial B)
{
polynomial C;
int A_index=0, B_index=0,C_index=0;
int A_degree=A.degree, B_degree=B.degree;
C.degree=MAX(A.degree, B.degree);
while(A_index<=A.degree && B_index<=B.degree) {
if(A_degree > B.degree) {
C.coef[C_index++] = A.coef[A_index++];
A_degree--;
}
else if(A_degree == B_degree) {
C.coef[C_index++]=A.coef[A_index++]+B.coef[B_index++];
A_degree--;
B_degree--;
}
else{
C.coef[C_index++] = B.coef[B_index++];
B_degree--;
}
}
return C;
}
void printPoly(polynomial P)
{
int i, degree;
degree=P.degree;
for(i=0; i<=P.degree; i++)
printf("%3.0fx^%d", P.coef[i], degree--);
printf("\n");
}
void main()
{
polynomial A={3, {4,3,5,0}};
polynomial B={4, {3,1,0,2,1}};
polynomial C;
C= addPoly(A,B);
printf("\n A(x)="); printPoly(A);
printf("\n B(x)="); printPoly(B);
printf("\n C(x)="); printPoly(C);
getchar();
}
|