-
Notifications
You must be signed in to change notification settings - Fork 0
/
prac.c
55 lines (55 loc) · 1.05 KB
/
prac.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int coeff;
int pow;
struct Node *next;
} node;
node *createnode(int coeff, int pow)
{
node *nn = (node *)malloc(sizeof(node));
nn->coeff = coeff;
nn->pow = pow;
nn->next = NULL;
return nn;
}
node *creatpolynomial(node *poly, int coeff, int pow)
{
if (poly == NULL)
{
node *newnode = createnode(coeff, pow);
return newnode;
}
node *curr = poly;
while (curr->next != NULL)
{
curr = curr->next;
}
node *newnode = createnode(coeff, pow);
newnode->coeff = coeff;
newnode->pow = pow;
newnode->next = NULL;
curr->next = newnode;
return poly;
}
void print(node *poly)
{
node *curr = poly;
while (curr)
{
printf("%dx^%d ", curr->coeff, curr->pow);
if (curr->next != NULL)
{
printf("+ ");
}
curr = curr->next;
}
}
int main()
{
node *poly = NULL;
poly = creatpolynomial(poly, 3, 2);
poly = creatpolynomial(poly, 4, 3);
print(poly);
}