谁能帮我做个数据结构的编程

来源:百度知道 编辑:UC知道 时间:2024/05/25 21:39:19
Description
一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请编写程序对输入的一元多项式进行求导,并输出求导的结果。
Input
输入为一个一元多项式,按照降幂依次输入每个单项式的系数和指数,并以-1 -1作为结束。系数和指数均为整数,指数不小于0。
Output
输出为求导结果多项式,按照降幂依次输出每个单项的系数和指数,每个数值后面用一个空格隔开,输出结果多项式后换行。
系数为0的单项式不得输出——除非结果多项式就是0,则直接输出0并换行。

Sample Input
2 7 3 5 12 1 6 0 -1 -1
Sample Output
14 6 15 4 12 0

确实不难,链表也用不着:
#include <stdio.h>
#define N 100
void main()
{
int i,n,flag;
int a[N],m[N];
for(i=0;;i++)
{
scanf("%d %d", &a[i], &m[i]);
if(a[i]==-1 && m[i]==-1)
break;
}
n=i;
for(i=0;i<n;i++)
{
a[i]*=m[i];
m[i]--;
}
for(i=0,flag=1;i<n;i++)
{
if(a[i])
if(m[i]>=0)
{
printf("%d %d ",a[i],m[i]);
flag=0;
}
}
if(flag) printf("0");
printf("\n");
}

太简单了,用链表就可以了