1040 일원 다항식 덧셈 연산 의 실현 SWUST OJ 데이터 구조 (전 40 문제)
묘사 하 다.
프로 그래 밍 은 일원 다항식 의 덧셈 연산 을 실현 한다.(링크 로 구현 요구)
입력
첫 번 째 행 위 는 1 원 다항식 A 로 0, 0 을 입력 으로 끝 냅 니 다.
두 번 째 행 위 는 1 원 다항식 B 로 0, 0 을 입력 으로 끝 냅 니 다.
출력
다항식 A 와 다항식 B 의 합.
샘플 입력
5,3 7,8 9,15 0,0 2,0 6,3 -7,8 0,0
샘플 출력
2x0+11x3+9x15
c + + 코드 구현
#include
using namespace std;
typedef struct node
{
int xishu;
int cifang;
node *next;
} LinkNode;
void Init(LinkNode *&Head)
{
Head=(LinkNode *)malloc(sizeof(LinkNode));
Head->next=NULL;
}
void Create (LinkNode *&Head)
{
LinkNode *p1,*p2;
p1=Head;
int c,x;
while(scanf("%d,%d",&c,&x)&&(c||x))
{
p1=Head;
while(p1->next!=NULL&&p1->next->cifang<x)
p1=p1->next;
if(p1->next==NULL||p1->next->cifang>x)
{
p2=(LinkNode *)malloc(sizeof(LinkNode));
p2->cifang=x;
p2->xishu=c;
p2->next=p1->next;
p1->next=p2;
}
else
p1->next->xishu+=c;
}
}
void Put(LinkNode *Head)
{
LinkNode *p1=Head->next;
while(p1!=NULL)
{
if(p1->xishu==0)
{
p1=p1->next;
continue;
}
if(p1!=Head->next)
cout<<"+";
cout<<p1->xishu<<"x^"<<p1->cifang;
p1=p1->next;
}
}
int main()
{
LinkNode *Head;
Init(Head);
Create(Head);
Create(Head);
Put(Head);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.