多项式加法

程序只验证了样例。

 1 #include<stdio.h>
 2 
 3 int main(void)
 4 {
 5     int a[101] = { 0 };
 6     int b[101] = { 0 };
 7 
 8     int m, n;
 9 
10     for (int i = 0; i < 2; i++)
11     {
12         do
13         {
14             scanf_s("%d %d", &m, &n);
15 
16             if (a[m] == 0)
17             {
18                 a[m] = 1;
19                 b[m] = n;
20             }
21             else
22             {
23                 b[m] = b[m] + n;
24             }
25             
26             if (m == 0)
27             {
28                 break;
29             }
30 
31         } while (1);
32     }
33     
34     int count = 0;
35     for (int i = 100; i >= 0; i--)
36     {
37         if (a[i] == 1)
38         {
39             count++;
40             if (count == 1)
41             {
42                 printf("%dx%d", b[i], i);
43             }
44             else
45             {
46                 /*考虑系数为负数的情况*/
47                 if (b[i] < 0)
48                 {
49                     b[i] = -b[i];
50                     printf("-");
51                 }
52                 else
53                 {
54                     printf("+");
55                 }
56                 
57                 if (i == 1)
58                 {
59                     printf("%dx", b[i]);
60                 }
61                 else if (i == 0)
62                 {
63                     printf("%d", b[i]);
64                 }
65                 else
66                 {
67                     printf("%dx%d", b[i], i);
68                 }                
69             }
70         }
71     }
72     return 0;
73 }

posted @ 2019-12-11 10:59  jason2018  阅读(154)  评论(0编辑  收藏  举报