(1)输入并建立多项式。
(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,ci,ei分别是第i 项的系数和指数,序列按指数降序排列。
(3)实现多项式a和b相加,建立多项式a+b。
(4)实现多项式a和b相减,建立多项式a-b。
(5)计算多项式在x处的值。
(6)计算器的仿真界面。
测试数据
第一组:
5x^8-3.1x^11+2x
11x^9-5x^8+7
第二组:
6x^-3-x+4.4x^2-1.2x^9
-6x^-3+5.4x^2-x^2+7.8x^15
第三组:
x+x^3
-x-x^3
第四组:
x+x^2+x^3
0
可以直接粘贴运行。
界面开发
设计思想
首先使用定义的两个函数get_coef()
和getNums()
将读入的字符串如6x^-3-x+4.4x^2-1.2x^9
,进行分割得到每一项的系数和指数,然后将其存入系数数组coefs[]
和指数数组expns[]
中。
在建立多项式的过程中,使用系数数组和指数数组进行多项式的建立。 使用C
扩充函数库 conio.h
中声明的一个函数gotoxy(int x, int y)
,利用它将光标移动到指定位置的功能,进行界面的显示和输出。
使用system("cls")
函数对程序进行清屏操作,利用此函数实现了程序的反复读入和输出。
界面参考大佬博客:一元稀疏多项式简单计算器 十分感谢。
内部数据结构代码自己实现,相比于网上的大多相关博客,代码简洁明了。
内部数据结构代码详解:一元稀疏多项式