• 大小: 9KB
    文件类型: .cpp
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: C/C++
  • 标签: 多项式  

资源简介

编程实现以下功能: ①分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元对项式中各项的系数和指数,并用单链表加以表示。 ②分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。 ③分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数和指数。 ④任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 ⑤已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x)和T n (x),并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) ⑥保存多项式,即分别将一元多项式pn (x)和Q n (x)各项的系数和指数保存到外部磁盘文件。 ⑦由程序从所存文件中读出多项式的系数和指数,重新构建一元多项式 Pn (x) 和Q n (x),并可对其再次进行运算操作。

资源截图

代码片段和文件信息

#include  
#include  
#include    
typedef struct duoxiangshi 
{      
int coef;     
int exp;      
struct duoxiangshi *next; 
}DXS;   
int getNum() 
{      
int num;      
printf(“输入选择功能对应的数字: “);     
scanf(“%d“ &num);       
return num; 
}   
void fun1( DXS *PHEAD DXS *QHEAD )
{      
int zs xs;//定义指数系数     
printf(“请输入P(x)中各项的系数和指数\n“);     
scanf(“%d %d“ &xs &zs);     
while( zs != 0 || xs != 0 )       
{          
DXS *p = (DXS*) malloc(sizeof(DXS));         
p->coef = xs;        
p->exp = zs;           
PHEAD->next = p;         
p->next = NULL;          
PHEAD = PHEAD->next;          
scanf(“%d %d“ &xs &zs);     
}       
printf(“请输入Q(x)中各项的系数和指数\n“); 
    scanf(“%d %d“ &xs &zs);     
while( zs != 0 ||xs != 0 )     
{          
DXS *p = (DXS*) malloc(sizeof(DXS));         
p->coef = xs;         
p->exp = zs;           
QHEAD->next = p;         
p->next = NULL;         
QHEAD = p;           
scanf(“%d %d“ &xs &zs);     
}   
printf(“输入5显示结果\n“);  
}


void fun2( DXS *PHEAD DXS *QHEAD )//升幂排序 
{      DXS *p *q;//链表的冒泡排序       
p = PHEAD->next;      
for( p; p != NULL; p = p->next )     
{          
for( q = p->next; q != NULL; q = q->next )         
{              
if( p->exp > q->exp )             
{                 
int temp;                   
temp = p->coef;                 
p->coef = q->coef;                 
q->coef = temp;                   
temp = p->exp;                
p->exp = q->exp;                 
q->exp = temp;             
}         
}     
}       
p = QHEAD->next;      
for( p; p != NULL; p = p->next )     

         for( q = p->next; q != NULL; q = q->next )         
 {              
 if( p->exp > q->exp )             
 {                  
 int temp;                   
 temp = p->coef;                 
 p->coef = q->coef;                 
 q->coef = temp;                   
 temp = p->exp;                 
 p->exp = q->exp;                
 q->exp = temp;             
 }        
 }     
}      
 printf(“输入5显示结果。\n“);  
}


void fun5( DXS *PHEAD DXS *QHEAD ) 
{      
printf(“当前保存的P(x)Q(x)序列如下:\n“);       
printf(“P(x)=“);      
while( PHEAD->next != NULL )     
{          
PHEAD = PHEAD->next;          
printf(“%d*x^%d“ PHEAD->coef PHEAD->exp);           
if( PHEAD->next != NULL )         
{              
printf(“ + “);         
}     
}       
printf(“\n“);      
printf(“Q(x)=“);      
while( QHEAD->next != NULL )     
{          
QHEAD = QHEAD->next;          
printf(“%d*x^%d“ QHEAD->coef QHEAD->exp); 
        if( QHEAD->next != NULL )         
{              
printf(“ + “);         
}     
}       
printf(“\n\n“);  
}


void fun4( DXS *PHEAD DXS *QHEAD ) 
{      
int x0;      double sum;       
pr

评论

共有 条评论