swust oj1040 一元多项式的加法
Accepted
//by swust_t_p
编程实现一元多项式的加法运算。(要求用链表实现)
Description
第一个一元多项式A; 第二个一元多项式B。 以(0,0)作为输入结束。
Input
多项式A和多项式B的和。
Output
1 2 | 5,3 7,8 9,15 0,0 2,0 6,3 -7,8 0,0 |
Sample Input
1 | 2x^0+11x^3+9x^15 |
Sample Output
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
char ch;
void T();
void F();
void E() //E->T{+|-T@+|-} A+(B-C/D)*E
{
char temp;
T();
while(ch=='+' || ch=='-')
{
temp=ch;
ch=getchar();
T();
printf("%c",temp);
}
}
void T() //T->F{*|/F@*|/} A+(B-C/D)*E
{
char temp;
F();
while(ch=='*' || ch=='/')
{
temp=ch;
ch=getchar();
F();
printf("%c",temp);
}
}
void F() //F->(E)|i@i A+(B-C/D)*E
{
if(ch=='(')
{
ch=getchar();
E();
if(ch!=')')
{
printf("need )\n");
exit(0);
}
else
ch=getchar();
}
else
{
printf("%c",ch);
ch=getchar();
}
}
int main()
{
ch=getchar();
E();
return 0;
}
//by swust_t_p