| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 768 人关注过本帖
标题:[求助]我的程序编译怎么出现了乱码!
只看楼主 加入收藏
charm
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-11-1
结帖率:100%
收藏
 问题点数:0 回复次数:5 
[求助]我的程序编译怎么出现了乱码!
这是一个一元多项式的程序,编译是通过了,可是指数却出现了乱码,请各位高手帮帮忙看一下是怎么回事!
#include <iostream>
using namespace std;
typedef struct node
{
float coef;
int expn;
struct node *next;
}PolyNode;
void InitList(PolyNode *&sq)
{
sq=(PolyNode*)malloc(sizeof(PolyNode));
sq->next=NULL;
}
int GetLength(PolyNode *sq){
int i=0;
PolyNode *p=sq->next;
while (p!=NULL)
{
i++;p=p->next;
}
return i;
}
PolyNode *GetElem(PolyNode *sq,int i)
{
int j=1;
PolyNode *p=sq->next;
if(i<1||i>GetLength(sq))
return NULL;
while (j<i){
p=p->next;j++;
}
return p;
}
PolyNode *Locate(PolyNode *sq,float c,int e)
{
PolyNode *p=sq->next;
while(p!=NULL&&(p->coef!=c||p->expn!=e))
p=p->next;
return p;
}
int OrderInsElem(PolyNode *sq,float c,int e,int i)
{
int j=1;
PolyNode *p=sq,*s;
s=(PolyNode *)malloc(sizeof(PolyNode));
s->coef=c;s->expn=e; s->next=NULL;
if(i<1||i>GetLength(sq)+1)
return 0;
while (j<i){
p=p->next;j++;
}
s->next=p->next;
p->next=s;
return 1;
}
int DelElem(PolyNode *sq,int i){
int j=1;
PolyNode *p=sq,*q;
if(i<1||i>GetLength(sq))
return 0;
while (j<i){
p=p->next;j++;
}
q=p->next;
p->next=q->next;
free(q);
return 1;
}
void DispList(PolyNode *sq)
{
PolyNode *p=sq->next;
while (p!=NULL){
cout<<"("<<p->coef<<','<<p->next<<")";
p=p->next;
}
cout<<endl;
}
void CreatPolyList(PolyNode *&sq,float C[], int E[],int n){
int i;
InitList(sq);
for(i=0;i<n;i++)
OrderInsElem(sq,C[i],E[i],i+1);
}
void SortPoly(PolyNode *&sq){
PolyNode *p=sq->next,*q,*pre;
sq->next=NULL;
while(p!=NULL){
if (sq->next==NULL)
{
sq->next=p;p=p->next;
sq->next->next=NULL;}
else{
pre=sq;q=pre->next;
while(q!=NULL&&p->expn>q->expn){
pre=q;q=q->next;}
q=p->next;
p->next=pre->next=p;
p=q;
}}}
void main(){
PolyNode *sq1;
float C1[]={1,2,3,4};
int E1[]={0,0,0,0};
CreatPolyList(sq1,C1,E1,4);
cout<<"多项式A为:";DispList(sq1);SortPoly(sq1);
}
搜索更多相关主题的帖子: 乱码 编译 
2007-11-11 23:21
charm
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-11-1
收藏
得分:0 
呼叫版主啊!帮帮忙啊!
2007-11-12 12:30
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
void DispList(PolyNode *sq)
{
PolyNode *p=sq->next;
while (p!=NULL){
cout<<"("<<p->coef<<','<<p->next<<")"; //你要输出个地址?,应该是要指数吧
p=p->next;
}
cout<<endl;
}

倚天照海花无数,流水高山心自知。
2007-11-12 15:45
charm
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-11-1
收藏
得分:0 
谢谢斑竹,问题是解决了,可是我想以一元多项式的一般形式输出,不知道怎么弄啊!就像这样:7+2x+5x^2+....。
2007-11-12 17:59
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
看看写的一段(昨天无聊的时候写了点)还没去检测,先贴出来了.等以后整个作好后再说.

void Print_Node(Node *head)
{
Node *p=head->next;
int flag=0;
while(NULL!=p)
{
if(0!=p->co)
{
if(0>p->co)
{
printf("-");
}
else
{
if(flag)
{
printf("+");
}
}
if(1!=p->co)
{
printf("%d",abs(p->co));
}
if(0!=p->de)
{
printf("x");
if(1!=p->de)
{
if(0>p->de)
{
printf("^(%d)",p->de);
}
else
{
printf("^%d",p->de);
}
}
}
flag=1;
}
p=p->next;
}
printf("\n");
}

倚天照海花无数,流水高山心自知。
2007-11-12 23:01
charm
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-11-1
收藏
得分:0 

那先谢谢斑竹了!

2007-11-13 09:00
快速回复:[求助]我的程序编译怎么出现了乱码!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021473 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved